home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d27
/
inter490.arc
/
INTERRUP.D
< prev
next >
Wrap
Text File
|
1990-08-04
|
161KB
|
4,677 lines
INT 60 - reserved for user interrupt
---------------------------------------------
INT 60 - Zero Bug Virus
The "Zero Bug" virus hooks this vector. Purpose unknown.
---------------------------------------------
INT 60 - Adaptec and OMTI controllers - DRIVE 0 DATA
---------------------------------------------
INT 60 - PC-IPC API
STACK: DWORD pointer to parameter block (see below)
Return: STACK: unchanged
Notes: PC-IPC is a shareware TSR by Donnelly Software Engineering which allows
communication between independent programs
INT 60 is the default, any interrupt vector may be used by specifying
the vector on the commandline
Format of parameter block:
Offset Size Description
00h WORD caller's ID
02h WORD to ID
04h WORD command code (see below)
06h WORD returned status
bit 0: unused
bit 1: IPC enabled
bit 2: IPC installed
bit 3: error
bit 4: message(s) available
08h WORD returned error code
0Ah WORD size of data
0Ch DWORD pointer to data buffer
Values of command code:
01h "IPC_CMND_INQUIRE" inquire current status
set status field, writes WORD to data buffer containing free
message space in bytes, and sets the "size" field to the
number of messages waiting
02h "IPC_CMND_ENABLE" reenable PC-IPC
ignored unless called with the same ID that disabled PC-IPC
03h "IPC_CMND_DISABLE" disable PC-IPC
04h "IPC_CMND_INSTALL" reset PC-IPC
06h "IPC_CMND_RDATA" read data
returns first message in data buffer, sets "size" to message
length and "to ID" field to sender's ID
if no messages available, bit 4 of status is cleared and "size"
is set to zero
07h "IPC_CMND_SDATA" send data
08h "IPC_CMND_REQID" require user ID
create a new recognized ID and return in "caller's ID" field
09h "IPC_CMND_DELID" cancel user ID
delete caller's ID from pool of recognized IDs
0Ah "IPC_CMND_RDATAW" read data, wait if no messages available
0Bh "IPC_CMND_VERS" get PC-IPC version
string representing version returned in data buffer, "size"
field set to length of string
---------------------------------------------
INT 60 - Tangram Arbiter - API
Notes: Arbiter may use any interrupt from 60h to 66h (parameterized)
identified by string "@ARB_API" immediately following a short jump at
the interrupt handler address
Arbiter makes a PC disk look like a slow disk over an SNA link to an
IBM mainframe
---------------------------------------------
INT 60 - FTP Driver - PC/TCP Packet Driver Specification
The handler for the interrupt will start with a 3-byte jump instruction,
followed by the ASCIZ string "PKT DRVR". To find the interrupt being used
by the driver, an application should scan through interrupt vectors 60h to
80h until it finds one with the "PKT DRVR" string.
---------------------------------------------
INT 60 - SYS_PROF.EXE - PROFILER STATUS
AH = 00h
Return: AX = 0000h profiling is off
otherwise profiling is on
Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
SeeAlso: AH=01h"SYS_PROF",02h"SYS_PROF"
---------------------------------------------
INT 60 - FTP Driver - DRIVER INFO
AX = 01FFh
BX = handler returned by function 02h
Return: CF set on error
DH = error code (see below)
CF clear if successful
BX = version
CH = network interface class (see below)
DX = interface type (see below)
CL = number
DS:SI -> name
AL = driver type
01h basic
02h extended
FFh not installed
Values for error code:
01h invalid handle number
02h no interfaces of the specified class found
03h no interfaces of the specified type found
04h no interfaces of the specified number found
05h bad packet type
06h interface does not support multicast messages
07h this packet driver cannot terminate
08h invalid receiver mode
09h insufficient space
0Ah type accessed but never released
0Bh bad command
0Ch packet could not be sent
Values for Network Interface classes/types:
Class 01h Ethernet/IEEE 802.3
01h 3COM 3C500/3C501
02h 3COM 3C505
03h MICOM-Interlan NI5010
04h BICC Data Networks 4110
05h BICC Data Networks 4117
06h MICOM-Interlan NP600
08h Ungermann-Bass PC-NIC
09h Univation NC-516
0Ah TRW PC-2000
0Bh MICOM-Interlan NI5210
0Ch 3COM 3C503
0Dh 3COM 3C523
0Eh Western Digital WD8003
0Fh Spider Systems S4
Class 02h ProNET-10
01h Proteon p1300
Class 03h IEEE 802.5/ProNet-4
01h IBM Token-Ring Adapter
02h Proteon p1340
03h Proteon p1344
Class 04h Omninet
Class 05h Appletalk
Class 06h Serial Line
Class 07h StarLAN
Class 08h ARCnet
01h Datapoint RIM
---------------------------------------------
INT 60 - SYS_PROF.EXE - TURN PROFILING OFF
AH = 01h
Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
SeeAlso: AH=00h"SYS_PROF",02h"SYS_PROF"
---------------------------------------------
INT 60 - FTP Driver - ACCESS TYPE
AH = 02h
AL = interface class
BX = interface type
DL = interface number
DS:SI -> type
CX = length of type
ES:DI -> receiver
Return: CF set on error
DH = error code (see AX=01FFh)
CF clear if successful
AX = handle
SeeAlso: AH=03h"FTP"
Receiver is called with
AX = subfunction
00h application to return pointer to buffer in ES:DI
ES:DI = 0000h:0000h means throw away packet
01h copy to DS:SI buffer completed
BX = handle
CX = buffer length
when a packet is received
---------------------------------------------
INT 60 - SYS_PROF.EXE - TURN PROFILING ON
AH = 02h
Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
SeeAlso: AH=00h"SYS_PROF",01h"SYS_PROF"
---------------------------------------------
INT 60 - FTP Driver - RELEASE TYPE
AH = 03h
BX = handle
Return: CF set on error
DH = error code (see AX=01FFh)
CF clear if successful
SeeAlso: AH=02h"FTP"
---------------------------------------------
INT 60 - SYS_PROF.EXE - GET ADDRESS OF PROFILING TABLE
AH = 03h
Return: ES:BX -> profiling table
Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
SeeAlso: AH=04h"SYS_PROF"
---------------------------------------------
INT 60 - FTP Driver - SEND PACKET
AH = 04h
DS:SI -> buffer
CX = length
Return: CF set on error
DH = error code (see AX=01FFh)
CF clear if successful
---------------------------------------------
INT 60 - SYS_PROF.EXE - CLEAR PROFILING TABLE
AH = 04h
Note: SYS_PROF.EXE is the TSR portion of a profiler from Micro Cornucopia #47
SeeAlso: AH=03h"SYS_PROF"
---------------------------------------------
INT 60 - FTP Driver - TERMINATE DRIVER FOR HANDLE
AH = 05h
BX = handle
Return: CF set on error
DH = error code (see AX=01FFh)
CF clear if successful
---------------------------------------------
INT 60 - FTP Driver - GET ADDRESS
AH = 06h
BX = handle
ES:DI -> buffer
CX = length
Return: CF set on error
DH = error code (see AX=01FFh)
CF clear if successful
CX = length
Note: copies the local net address associated with the handle into the buffer
---------------------------------------------
INT 60 - FTP Driver - RESET INTERFACE
AH = 07h
BX = handle
Return: CF set on error
DH = error code (see AX=01FFh)
CF clear if successful
---------------------------------------------
INT 60 - Banyan VINES, 3com - GET STATION ADDRESS
AH = 0Ch
Return: AL = status
00h successful
ES:SI -> 6-byte station address
02h semaphore service is unavailable
---------------------------------------------
INT 60 - 10-NET, Banyan VINES - LOCK AND WAIT
AH = 11h
AL = drive number or 0
DX = number of seconds to wait
ES:SI = Ethernet address or 0
DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status
00h successful
01h timeout
02h server not responding
03h invalid semaphore name
04h semaphore list is full
05h invalid drive ID
06h invalid Ethernet address
07h not logged in
08h write to network failed
09h semaphore already logged for this CPU
SeeAlso: AH=12h,13h
---------------------------------------------
INT 60 - 10-NET, Banyan VINES - LOCK
AH = 12h
AL = drive number or 00h
ES:SI = Ethernet address or 0000h:0000h
DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status (see also AH=11h)
01h semaphore currently locked by another PC
Note: unlike function 11h, this function returns immediately
SeeAlso: AH=11h,13h
---------------------------------------------
INT 60 - 10-NET, Banyan VINES - UNLOCK
AH = 13h
AL = drive number or 00h
ES:SI = Ethernet address or 0000h:0000h
DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status (see also AH=11h)
1 semaphore not locked
SeeAlso: AH=11h,12h
---------------------------------------------
INT 60 - FTP Driver - SET RECEIVE MODE
AH = 20h
BX = handle
CX = mode
01h turn off receiver
02h receive only packets sent to this interface
03h mode 2 plus broadcast packets
04h mode 3 plus limited multicast packets
05h mode 3 plus all multicast packets
06h all packets
Return: CF set on error
DH = error code
CF clear if successful
SeeAlso: AH=21h
---------------------------------------------
INT 60 - FTP Driver - GET RECEIVE MODE
AH = 21h
BX = handle
Return: CF set on error
DH = error code (see AX=01FFh)
CF clear if successful
AX = mode
SeeAlso: AH=20h
---------------------------------------------
INT 60 - FTP Driver - GET STATISTICS
AH = 24h
BX = handle
Return: CF set on error
DH = error code
CF clear if successful
DS:SI -> statistics (see below)
Format of statistics:
Offset Size Description
00h DWORD packets in
04h DWORD packets out
08h DWORD bytes in
0Ch DWORD bytes out
10h DWORD errors in
14h DWORD errors out
18h DWORD packets dropped
---------------------------------------------
INT 61 - reserved for user interrupt
---------------------------------------------
INT 61 - Adaptec and OMTI controllers - DRIVE 0 DATA
---------------------------------------------
INT 61 - Banyan VINES - "Sosock" - OPEN COMMUNICATIONS SOCKET
AX = 0001h
DS:DX -> communications control block (function 0001h)
Return: AX = status
0000h successful
0001h service not installed
0002h invalid service ID
0098h resource already in use
009Eh address family does not exist
009Fh socket type does not exist
00A0h protocol does not exist
00A1h no more sockets available
00A2h no more buffer space available
Note: BANYAN can use any interrupt from 60h through 66h. The Banyan
interrupt handler is identified by the string "BANV" in the four
bytes immediately preceding the interrupt handler
Format of control block:
Offset Size Description
00h WORD 0001h
02h WORD pointer to argument block
04h WORD error return code
06h 4 BYTEs reserved
Format of argument block:
Offset Size Description
00h WORD pointer to 2-byte buffer for socket identifier
02h WORD address family
0003h Banyan
04h WORD socket type
in address family 0003h
0001h IPC socket
0002h SPP socket
06h WORD protocol number
FFFFh default
08h WORD pointer to 16-byte buffer for socket address
0Ah WORD local port number
0000h if service should assign transient port number
0001h to 01FFh well-known port number (assigned by Banyan)
Format of IPC port:
Offset Size Description
00h WORD address family (always 0003h for Banyan ports)
04h 4 BYTEs network number (server's serial number)
06h WORD subnet number (0001h = server, 8000h-FFFEh = PC)
08h WORD port ID (0001h-01FFh for "well-known" ports)
0Ah BYTE hop count
0Bh 5 BYTEs filler
---------------------------------------------
INT 61 - Banyan VINES - "Sosend" - INITIATE OUTPUT EVENT
AX = 0001h
DS:DX -> communications control block (function 0002h)
Return: AX = status
0000h successful
0001h service not installed
0002h invalid service ID
0003h-000Ah reserved for BANV interface errors
0097h invalid socket identifier
009Bh destination node unreachable
009Ch message overflow
009Dh destination socket nonexistent
00A2h no more buffer space
00A3h timeout
00B1h resource disconnect
Note: BANYAN can use any interrupt from 60h through 66h. The Banyan
interrupt handler is identified by the string "BANV" in the four
bytes immediately preceding the interrupt handler
Format of control block:
Offset Size Description
00h WORD 0002h
02h WORD pointer to argument block (see below)
04h WORD error return code
0000h successful
0097h invalid socket ID
00A2h no more buffer space
00A3h timeout event
00A5h resource not available
00A6h internal communication failure
00B1h resource disconnect
06h 4 BYTEs reserved
Format of argument block:
Offset Size Description
00h WORD routine metric
02h WORD error return code
04h WORD socket identifier
06h WORD pointer to send buffer
08h WORD length of send buffer
0Ah WORD flags
bit 0: async request
1: reliable message
3: end of user message received
4: vectored request (if set, send buffer contains buffer
descriptors)
5: connection-specific receive
6: change to connection-specific receive mode
0Ch 16 BYTEs socket address (see below)
1Ch WORD timeout value in multiples of 200ms
1Eh WORD connection identifier
20h WORD type of request
0001h send message
0002h establish a virtual connection
0003h terminate a virtual connection
Format of buffer descriptor:
Offset Size Description
00h WORD data segment
02h WORD buffer pointer
04h WORD buffer length
06h WORD character count
Format of socket address for unreliable datagrams:
Offset Size Description
00h WORD 0003h address family
02h DWORD FFFFFFFFh network number
06h WORD FFFFh subnet number
08h WORD local port number
0Ah BYTE 00h-0Fh hop count
0Bh 5 BYTEs 0000h filler
---------------------------------------------
INT 61 - Banyan VINES - "Sorec" - RECEIVE INPUT EVENT NOTIFICATION
AX = 0001h
DS:DX -> communications control block (function 0003h)
Return: AX = status
0000h successful
0001h service not installed
0002h invalid service ID
0003h-000Ah reserved for BANV interface errors
0097h invalid socket identifier
00A2h no more buffer space
00A3h timeout
Note: BANYAN can use any interrupt from 60h through 66h. The Banyan
interrupt handler is identified by the string "BANV" in the four
bytes immediately preceding the interrupt handler
Format of control block:
Offset Size Description
00h WORD 0003h
02h WORD pointer to argument block (see below)
04h WORD error return code
0000h successful
0097h invalid socket ID
00A2h no more buffer space
00A3h timeout event
00A5h resource not available
00A6h internal communication failure
00B1h resource disconnect
06h 4 BYTEs reserved
Format of argument block:
Offset Size Description
00h WORD character count
02h WORD error return code
04h WORD socket identifier
06h WORD pointer to receive buffer
08h WORD length of receive buffer
0Ah WORD flags
bit 0: async request
2: flush receive buffer on overflow
3: end of user message received
4: vectored request (if set, receive buffer contains buffer
descriptors)
5: connection-specific receive
6: change to connection-specific receive mode
0Ch 16 BYTEs socket address
1Ch WORD timeout value in multiples of 200ms
1Eh WORD connection identifier
20h WORD type of response
0001h message received
0002h virtual connection established
0003h virtual connection terminated
Format of buffer descriptor:
Offset Size Description
00h WORD data segment
02h WORD buffer pointer
04h WORD buffer length
06h WORD character count
---------------------------------------------
INT 61 - Banyan VINES - "Soclose" - CLOSE A SOCKET
AX = 0001h
DS:DX -> communications control block (function 0004h)
Return: AX = status
0000h successful
0001h service not installed
0002h invalid service ID
0003h-000Ah reserved for BANV interface errors
0097h invalid socket identifier
Note: BANYAN can use any interrupt from 60h through 66h. The Banyan
interrupt handler is identified by the string "BANV" in the four
bytes immediately preceding the interrupt handler
Format of control block:
Offset Size Description
00h WORD 0004h
02h WORD pointer to argument block (see below)
04h WORD error return code
06h 4 BYTEs reserved
Format of argument block:
Offset Size Description
00h WORD socket identifier
---------------------------------------------
INT 61 - Banyan VINES - "Sowait" - WAIT FOR ASYNCHRONOUS EVENT COMPLETION
AX = 0001h
DS:DX -> communications control block (function 0005h)
Return: AX = status
0000h successful
0001h service not installed
0002h invalid service ID
0003h-000Ah reserved for BANV interface errors
00A2h no more buffer space available
00A3h timeout event
Notes: BANYAN can use any interrupt from 60h through 66h. The Banyan
interrupt handler is identified by the string "BANV" in the four
bytes immediately preceding the interrupt handler
returns results for all asynchronous operations invoked from the
data segment used for this call
Format of control block:
Offset Size Description
00h WORD 0005h
02h WORD pointer to argument block (see below)
04h WORD error return code
06h 4 BYTEs reserved
Format of argument block:
Offset Size Description
00h WORD pointer to WORD event pointer
02h WORD timeout in multiples of 200ms, FFFFh = infinite
---------------------------------------------
INT 61 - Banyan VINES - "Sosession" - REGISTER APPLICATION WITH COMM SERVICE
AX = 0001h
DS:DX -> communications control block (function 0008h)
Return: AX = status
0000h successful
00A2h no more buffer space available
Note: BANYAN can use any interrupt from 60h through 66h (default 61h). The
Banyan interrupt handler is identified by the string "BANV" in the
four bytes immediately preceding the interrupt handler
Format of control block:
Offset Size Description
00h WORD 0008h
02h WORD process type
0001h transient process
0002h resident process
04h WORD error return code
06h 4 BYTEs reserved
---------------------------------------------
INT 61 - Banyan VINES - "Soint" - SET USER COMPLETION FUNCTION
AX = 0001h
DS:DX -> communications control block (function 000Bh)
Return: AX = status
0000h successful
0001h service not installed
0002h invalid service ID
0003h-000Ah reserved for BANV interface errors
00A2h no more buffer space available
Notes: BANYAN can use any interrupt from 60h through 66h. The Banyan
interrupt handler is identified by the string "BANV" in the four
bytes immediately preceding the interrupt handler
FAR user function is invoked with SS,DS, and ES set to segment of
control block, and with the stack containing
DWORD return address
WORD argument pointer (sosend or sorec argument block)
WORD error return code
0000h argument pointer is valid
00A3h timeout
Format of control block:
Offset Size Description
00h WORD 000Bh
02h WORD pointer to argument block (see below)
04h WORD error return code
06h 2 BYTEs reserved
08h WORD user CS register
Format of argument block:
Offset Size Description
00h WORD pointer to user interrupt function
02h WORD pointer to user stack
04h WORD initial timeout value in multiples of 200ms, FFFFh = infinite
---------------------------------------------
INT 61 - Banyan VINES - 3270 INTERFACE
AX = 0002h
BH = function
00h "pi2reset" reset 3270/SNA or 3270/BSC driver
02h "pi2bsc" (3270/BSC only)
03h "pi2get" get information stored in 3270 resident driver
04h "pi2put" store information in 3270 resident driver
05h "pi2gcur" get current screen position
07h "pi2sdat" send data keystroke
08h "pi2scom" send command keystroke
0Ah "pi2field" get field info for arbitrary screen positions
0Fh "pi2stat" get logical unit/device status
12h "pi2nlus" determine logical unit/device assignment
13h "pi2gate" specifies comm port address to gateway service
14h "pi2attach" attach a logical unit/device
15h "pi2sdev" save logical unit/device info in resident driver
(not supported in >3.0)
16h "pi2gdev" get device information (not supported in >3.0)
17h "pi2luinfo" get info about specific logical unit/device
18h "pi2gerr" get finer error detail
19h "pi2dhold" (3270/SNA only) holds a 3270 device
1Ah "pi2shut" release memory-resident module
1Ch "pi2sprof" save profile info in res driver (not supp in >3.0)
1Dh "pi2gprof" get prevsly stored profile info (not supp in >3.0)
DS:CX -> argument block (except BH=00h,1Ah)
Return: AX = status
0000h successful
000Bh invalid parameter or data does not fit data area
000Ch another code path currently active in resident driver
000Dh operation currently not allowed
0032h encountered connection disconnect error
0033h encountered "sosend" completion error
0034h encountered "sosend" communication error
0035h attach request refused. extended error info via "pi2gerr":
01h resource unavailable
02h invalid type
03h version mismatch
04h invalid logical unit number
05h error during ARL processing
06h no access for user
0071h encountered "sosock" error
0072h encountered unrecognizable error
0073h encountered "sowait" error (extended info via "pi2gerr")
0074h encountered invalid type-of-request on "sowait"
0075h encountered "sorec" error (extended info via "pi2gerr")
0076h encountered "sorec" completion error (ext info via "pi2gerr")
0077h encountered connection request
0078h encountered unrecognizable data
0079h encountered unknown connection ID (ext info via "pi2gerr")
Notes: Either 3270/SNA or 3270/BSC interface may use AX=0002h, depending on
which is loaded first. The other interface will use AX=000Ah
Status codes greater than 63h indicate an inconsistency in the 3270/SNA
or 3270/BSC resident driver, which must be reloaded by the user
Format of argument block for BH=03h,04h:
Offset Size Description
00h WORD size of data area (max 256)
02h N BYTEs data area
Format of argument block for BH=05h:
Offset Size Description
00h WORD logical unit/device number
02h WORD pointer to WORD buffer for cursor index
04h WORD pointer to BYTE buffer for current field attribute
Format of argument block for BH=07h:
Offset Size Description
00h WORD logical unit/device number
02h WORD ASCII data byte
04h WORD pointer to WORD count of characters which will need updating
Format of argument block for BH=08h:
Offset Size Description
00h WORD logical unit/device number
02h WORD keystroke
0000h Enter
0001h Clear
0002h PA1
0003h PA2
0004h PA3
0005h PF1
...
001Ch PF24
001Dh CSELECT (cursor select)
001Eh Insert
001Fh Delete
0020h EOField
0021h EINPUT (erase input)
0022h Reset
0023h Attention
0024h SysReq
0025h Duplicate
0026h Fieldmark
0027h Home
0028h NextLine
0029h Tab
002Ah BackTab
002Bh cursor up
002Ch cursor down
002Dh cursor right
002Eh cursor left
002Fh double cursor right
0030h double cursor left
0031h PRINT
0032h CANCEL
0033h Backspace
Format of argument block for BH=0Ah:
Offset Size Description
00h WORD logical unit/device number
02h WORD screen index
04h WORD pointer to WORD buffer for field length
06h WORD pointer to WORD buffer for offset in screen of field start
Format of argument block for BH=0Fh:
Offset Size Description
00h WORD logical unit/device number
02h WORD clear mask (clear these bits of status after returning status)
04h WORD pointer to WORD buffer for status
bit 10: status modified
bit 9: buffer modified
bit 8: set cursor
bit 5: sound alarm
bits 0,1: size of print line for printer logical units
00 unformatted line
01 40-character line
10 64-character line
11 80-character line
Format of argument block for BH=12h:
Offset Size Description
00h WORD pointer to WORD buffer for number of logical units or devices
02h WORD pointer to WORD buffer for version number
04h WORD pointer to 64-byte buffer for logical unit/device list
Format of argument block for BH=13h:
Offset Size Description
00h 16 BYTEs communications port address (see AX=0001h#"Sosock")
Format of argument block for BH=14h:
Offset Size Description
00h WORD logical unit/device number
0000h attach any free device of the specified type
02h WORD logical unit/device type
(3270/SNA) 01h, 02h, or 03h
(3270/BSC) 02h display
(3270/BSC) 03h printer
04h WORD pointer to WORD buffer for attached logical unit/device number
Format of argument block for BH=16h:
Offset Size Description
00h WORD pointer to 18-byte buffer for device block (see below)
first WORD must be set to desired logical unit/device number
Format of argument block for BH=17h:
Offset Size Description
00h WORD logical unit/device number
02h WORD pointer to information block in caller's DS (see below)
Format of argument block for BH=18h:
Offset Size Description
00h WORD pointer to WORD buffer for major error code
02h WORD pointer to WORD buffer for minor error code
Format of argument block for BH=19h:
Offset Size Description
00h WORD logical unit/device number
Format of argument block for BH=1Ch,1Dh:
Offset Size Description
00h WORD pointer to profile block in caller's DS (see below)
Format of device block, argument block for BH=15h:
Offset Size Description
00h WORD logical unit/device number
02h WORD logical unit/device type
04h WORD display model number
06h WORD numeric checking
08h WORD status line
0Ah BYTE unprotected normal field attribute
0Bh BYTE unprotected intensified field attribute
0Ch BYTE protected normal field attribute
0Dh BYTE protected intensified field attribute
0Eh WORD reserved
10h WORD printer port number
Format of information block:
Offset Size Description
00h WORD device model number
02h DWORD screen buffer pointer
06h DWORD status line pointer (see below)
0Ah DWORD reserved
Format of status line:
Offset Size Description
00h BYTE comm line status
00h inactive
01h active
01h BYTE activation level
01h physical unit activated
02h logical unit also activated
03h session is bound
02h BYTE data traffic state
00h inactive
01h active
03h BYTE screen ownership
00h SLU->PLU sessoin owns screen
01h SLU->SSCP session owns screen
04h BYTE keyboard status
00h UNLOCK - ready to accept data
01h TIME - aid was struck
02h SYSTEM - received response no restore
03h FUNCTION - unavailable keyboard function
04h INPUT - not currently used
05h ENDFIELD - field filled in insert mode
06h PROTECTED - attempt to enter in protected field
07h NUMERIC - attempt to enter in numeric field
08h PROGRAM - error in outbound data stream
05h BYTE insert mode
01h if in insert mode
06h BYTE numeric
01h if current screen buffer is numeric only
07h BYTE printer status
00h printer not assigned
01h printer is inactive
02h printer error
03h currently printing
04h printer is busy
05h printer is very busy
08h BYTE printer assignment
09h BYTE maximum size of network name
0Ah N BYTEs ASCIZ network name
BYTE maximum size of message window
M BYTEs null-terminated message window
BYTE code set
00h EBCDIC
01h ASCII
M BYTEs extended attributes
01h extended attributes are in effect (stored at screen+1920)
each extended attribute specifies
bits 0,1: 00=normal, 01=blink, 10=reverse, 11=underscor
bits 2-4: 000=default,001=blue,010=red,011=pink,
100=green,101=turquoise,110=yellow,111=white
BYTE extended color
01h other than base color is in effect
Format of profile block:
Offset Size Description
00h 64 BYTEs gateway service name
40h 16 BYTEs gateway comm port address
50h WORD primary logical unit number
52h WORD secondary logical unit type
54h WORD secondary logical unit number
56h WORD printer assignment
58h 50 BYTEs keyboard definitions filename
---------------------------------------------
INT 61 - Banyan VINES - ASYNCHRONOUS TERMINAL EMULATION
AX = 0003h
DS:BX -> argument block with function number (see below)
Return: AX = status
0000h successful
000Bh invalid session ID
000Ch session not active
000Dh invalid request type
000Eh invalid parameters
000Fh out of heap space
0010h timeout on send
0011h Banyan communications error
0012h session not waiting for host
0013h session is active
0014h duplicate suspend session request
0015h no session suspended
0016h ring data buffer full
0017h printer error encountered
0018h Banyan communications error
0019h unable to make connection
001Ah no ring buffer specified at startup
001Bh service is down
001Ch invalid service name
001Dh service is closed
001Eh invalid connection name
001Fh max session limit reached for service
0020h access rights list for connection/dialout does not include
this user
0021h service not responding
0022h missing telephone number
Format of argument block:
Offset Size Description
00h BYTE session ID (00h)
01h BYTE asynchronous interface request number
00h initialize user buffer pointer information area
01h send to host
02h "control monitor"
03h "flow control data": freeze/unfreeze display, ring buffer
04h end active session
05h set session parameter
06h get session parameter
07h set tab settings
08h get tab settings
09h refresh emulation screen
0Ah suspend session temporarily
0Bh restore previously suspended session
0Ch set state of scroll lock checking
0Dh exit emulation
0Eh interrupt on character from host
0Fh start a session
10h start/stop printing of data received from host
11h get file transfer parameters
12h get connection information
13h start/stop tracing data traffic in session
14h interrupt on message from host
15h reset error
---request=00h---
02h WORD pointer to info area in caller's current DS
Offset Size Description
00h WORD flags
0000h don't read interface's data buffer
0001h read data buffer
02h DWORD pointer to ring buffer
06h WORD length of ring buffer
08h WORD ring buffer offset to last byte read by caller
0Ah DWORD pointer to WORD containing offset of last byte
in ring buffer filled
0Eh DWORD pointer to screen buffer
12h DWORD pointer to field containing cursor position
16h DWORD pointer to terminal status area (see below)
---request=01h---
02h BYTE type
00h ASCII byte
01h ASCII string
02h terminal function code
03h up arrow
04h down arrow
05h left arrow
06h right arrow
07h break
03h N BYTEs type-specific info
Offset Size Description
---ASCII byte---
03h BYTE byte to send to host
---ASCII string---
03h WORD length of string
05h WORD pointer to string
---terminal function code (VT52/VT100)---
03h BYTE function code
00h keypad 0
01h keypad 1
...
09h keypad 9
0Ah keypad -
0Bh keypad ,
0Ch keypad .
0Dh keypad ENTER
0Eh PF1
0Fh PF2
10h PF3
11h PF4
---terminal function code (IBM3101)---
03h BYTE function code
00h PF1
...
07h PF8
08h Home
---request=02h---
02h BYTE display flag
00h don't display data received from host
01h display data
---request=03h---
02h BYTE flow control flag
00h allow characters to be put into display or ring buffer
01h don't place any more characters into display or ring buffer
---request=05h,06h---
02h BYTE parameter number
00h line speed (00h=any, 01h=50, 02h=110, 03h=134.5, 04h=150,
05h=300,06h=600,07h=1200,08h=2400,09h=4800, 0Ah=9600)
01h parity (00h=none, 01h=odd, 02h=even)
02h duplex (00h=full, 01h=half)
03h character size (00h=7 bits, 01h=8 bits)
04h stop bits (00h=1, 01h=2)
05h XON/XOFF flow control (00h=no, 01h=yes)
07h intercharacter delay in tenths of a second
08h interline delay in tenths of a second
09h auto linefeed (00h=no, 01h=yes)
0Ah filter control characters (00h=no, 01h=yes)
0Bh terminal type (00h=VT100,01h=glassTTY,02h=VT52,03h=IBM3101)
0Ch auto wrap (00h=no, 01h=yes)
0Dh cursor shape (00h=underscore, 01h=block)
0Eh character set (00h=UK, 01h=US ASCII)
0Fh printer port (00h=LPT1, 01h=LPT2, 02h=LPT3)
03h BYTE parameter value (returned for 06h)
---request=07h,08h---
02h WORD pointer to 80-byte buffer in caller's current DS
each byte = 00h if no tab, 01h if tab at that position
---request=0Ah---
02h WORD size of session information to be saved
04h WORD pointer to buffer in caller's DS
---request=0Bh---
02h WORD size of buffer into which session info is restored
04h WORD pointer to buffer in caller's DS
---request=0Ch---
02h BYTE check_scroll_lock flag
00h off
01h on (display of host data stopped while ScrollLock on)
---request=0Eh,14h---
02h DWORD pointer to routine to be called (0000h:0000h = don't call)
06h DWORD stack pointer to use when call is made
---request=0Fh---
02h WORD pointer to information area in caller's current DS
Offset Size Description
00h WORD length of service name
02h WORD pointer to service name in caller's DS
04h BYTE type of connection
(00h=connection name, 01h=dialout)
05h WORD length of connection name/telephone number
07h WORD pointer to connection name/telephone number
---request=10h---
02h WORD print capture flag (00h=off, 01h=on)
---request=11h---
02h WORD pointer to info area in caller's current DS
Offset Size Description
00h BYTE protocol flag (00h none, 01h Kermit)
01h BYTE direction flag (00h send, 01h receive)
02h BYTE length of null-terminated PC filename
03h DWORD pointer to null-terminated PC filename
07h BYTE length of null-terminated host filename
08h DWORD pointer to null-terminated host filename
---request=12h---
02h WORD pointer to info area in caller's current DS (see below)
Offset Size Description
00h WORD length of service name (returned)
02h WORD pointer to 64-byte buffer for service name
04h BYTE type of connection
00h connection name
01h dialout
05h WORD length of connection name/telephone number
07h WORD pointer to 64-byte buffer for name/telno
09h BYTE server line number being used (returned)
---request=13h---
02h BYTE trace flag (00h=off, 01h=on)
Format of terminal status area:
Offset Size Description
00h BYTE status of session: 4Eh=oNline, 46h=oFfline, 57h=Waiting
01h BYTE terminal type (00h=VT100, 01h=TTY, 02h=VT52, 03h=IBM3101)
02h BYTE current keypad mode (VT100,VT52 only)
4Eh ("N") numeric mode
41h ("A") application mode
03h 4 BYTEs current state of LEDs (VT100 only)
00h off
01h on
07h WORD line error count
09h WORD primary error code
0000h no error
0001h unable to make connection
0002h communications error, restart session
0003h async terminal emulation service unavailable
0004h lost carrier
0005h all matching lines busy
0006h no lines defined for connection name
0007h no dial lines available on server
0008h no matching dial lines available
0009h out of heap space
000Ah service error encountered
000Bh timed out waiting to connect
000Ch communications error
000Dh communications error
000Eh host want file transferred to/from PC
000Fh host software changed session parameter
0010h host software changed tap settings
0011h host software changed LED indicator
0012h host software changed display background (secondary error
code 00h for white on black, 01h for black on white)
0013h host software changed display option (secondary error
code 00h for off, 01h for on)
0014h communications error
0015h communications error
0016h unable to make connection
0017h unable to make connection
0Bh WORD secondary error code
---------------------------------------------
INT 61 - Banyan VINES - GET SERVER SERIAL NUMBER
AX = 0004h
DS:DX -> request block (function 0008h)
Return: AX = status
0000h server ID returned in request block
000Fh invalid drive
0015h drive not ready
Format of request block:
Offset Size Description
00h WORD 0008h
02h WORD drive number (0=default, 1=A, ...)
04h 6 BYTEs buffer for server ID
---------------------------------------------
INT 61 - Banyan VINES - PRINTER CONTROL
AX = 0005h
DS:DX -> request block
Return: AX = status
0000h successful
0001h network software not installed or incompatible
Format of request block:
Offset Size Description
00h WORD function
0201h "endspool" all data for a print job has been sent
0205h "getactive" get currently active printer port
02h WORD number of active port (1-3)
04h WORD ??? (0 for func 0201h, 3 for func 0205h)
06h WORD 0000h
---------------------------------------------
INT 61 - Banyan VINES - GET PORTS FOR A SERVICE
AX = 0007h
BX = 0002h
DS:DX -> StreetTalk service name
DS:DI -> port record block (see below)
Return: AX = status
0000h successful
0001h PC network software not installed or incompatible
03E9h incorrect name syntax
03EAh organization name too long
03EBh group name too long
03ECh item name too long
03EDh StreetTalk name too long
03F3h organization not found
03F4h group not found
03F5h StreetTalk name not found
03F8h not a StreetTalk name
040Dh appropriate StreetTalk name unavailable
Format of port record block:
Offset Size Description
00h WORD number of 17-byte elements
02h 17 BYTEs element (byte 00h = input port type, bytes 01h-10h = port)
(see AX=0001h#"Sosock" for port format)
---------------------------------------------
INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
AX = 0007h
BX = 0004h
DS:DX -> StreetTalk name of service
DS:DI -> port record block (see below)
Return: AX = status
0000h successful
0001h PC network software not installed or incompatible
03E9h incorrect name syntax
03EAh organization name too long
03EBh group name too long
03ECh item name too long
03EDh StreetTalk name too long
03F3h organization not found
03F4h group not found
03F5h StreetTalk name not found
03F8h not a StreetTalk name
0409h modify access denied
040Dh appropriate StreetTalk name unavailable
Format of port record block:
Offset Size Description
00h WORD number of 17-byte elements
02h 17 BYTEs element: byte 00h = input port type, 01h-10h = port
(see AX=0001h#"Sosock" for port format)
---------------------------------------------
INT 61 - Banyan VINES - GET USER NAME
AX = 0007h
BX = 0005h
DS:DX -> 64-byte buffer for user's StreetTalk name
Return: AX = status
0000h successful
0001h network software not installed or incompatible
Note: if no user logged in, first byte of returned name will be 00h
---------------------------------------------
INT 61 - Banyan VINES - TRANSLATE ERROR INTO ASCII STRING
AX = 0007h
BX = 0006h
SI = error code (>100)
DS:DX -> 80-byte buffer for error text
Return: AX = status
0000h successful
0001h network software not installed or incompatible
---------------------------------------------
INT 61 - Banyan VINES - VERIFY EXISTENCE OF NAME AND RETURN CANONICAL FORM
AX = 0007h
BX = 0007h
DS:DX -> NiceName block (see below)
Return: AX = status
0000h successful
0001h PC network software not installed or incompatible
03E9h incorrect name syntax
03EAh organization name too long
03EBh group name too long
03ECh item name too long
03EDh StreetTalk name too long
03F3h organization not found
03F4h group not found
03F5h StreetTalk name not found
03F8h not a StreetTalk name
040Dh appropriate StreetTalk name unavailable
SeeAlso: AX=0007h/BX=0008h
Format of NiceName block:
Offset Size Description
00h WORD type of name
0064h organization
00C8h group
012Ch item
02h WORD pointer to ASCIZ input name
04h WORD pointer to 64-byte buffer for output name
---------------------------------------------
INT 61 - Banyan VINES - ENUMERATE StreetTalk NAMES
AX = 0007h
BX = 0008h
DS:DX -> enumerate block (see below)
Return: AX = status
0000h successful
0411h all matching names have been returned
0412h some groups unavailable, all available matches returned
Note: each program using this call should continue until a nonzero status
is returned; otherwise, some resources will not be freed for several
hours
SeeAlso: AX=0007h/BX=0007h
Format of enumerate block:
Offset Size Description
00h WORD return code
02h WORD pointer to pattern string
04h WORD enumerate type
0064h organization
00C8h group
012Ch item
06h WORD enumerate class
0000h unspecified (return all matching items)
0001h user names
0002h service names
0003h list names
0004h nicknames
08h WORD pointer to category criteria block (see below) or 0
0Ah WORD pointer to array of 64-byte returned names
0Ch WORD number of names returned
0Eh 6 BYTEs reserved for subsequent enumerated calls (set to zeros on first
call)
Format of category criteria block:
Offset Size Description
00h WORD exclude flag
0000h return only items with the specified categories
0001h return all items except those with the given categories
02h WORD number of categories
04h WORD category 1 value
06h WORD category 2 value
...
Values for common service categories:
0002h file service
0003h print service
0004h mail service
0005h StreetTalk
0006h time service
0008h semaphore service
0009h 3270/SNA service
000Ah asynchronous terminal emulation service
000Ch NETBIOS service
000Dh PC-based service
---------------------------------------------
INT 61 - Banyan VINES - POST MESSAGE ON LOCAL DISPLAY
AX = 0008h
BX = 0002h
CX = flags
bit 0: message will remain on screen until user presses ^X
bit 1: ring bell after displaying message
bit 2: blink
DS:DX -> ASCIZ string to display (only first 80 chars used)
Return: AX = status
0000h successful
000Bh message display function currently busy
000Ch message queue full
Note: queues up to three messages to be displayed on the bottom line
---------------------------------------------
INT 61 - Banyan VINES - INTERCEPT VINES 25th-LINE MESSAGES AT LOCAL PC
AX = 0008h
BX = 0003h
DS:DX -> request block
Return: AX = status
0000h successful
0001h network software not installed or incompatible
Notes: message handler should not call BIOS or DOS functions, and should
either call next handler or simply return
to stop intercepting messages, set prev and next request blocks to
point at each other
Format of request block:
Offset Size Description
00h DWORD pointer to user-written message handler
04h DWORD pointer to next request block (filled in by VINES)
08h DWORD pointer to previous request block (filled in by VINES)
0Ch DWORD pointer to message storage area (filled by VINES) (see below)
Format of message storage area:
Offset Size Description
00h 16 BYTEs IPC port of message sender (see AX=0001h#"Sosock")
10h BYTE message flags
11h WORD reserved
13h BYTE length of message
14h 80 BYTEs message text
---------------------------------------------
INT 61 - Banyan VINES - SECONDARY 3270 INTERFACE
AX = 000Ah
Notes: either 3270/SNA or 3270/BSC interface will use AX=000Ah, depending on
which is loaded second. The first interface loaded will use AX=0002h
SeeAlso: INT 61/AX=0002h
---------------------------------------------
INT 61 - Banyan VINES - CHECK SERVICE
AH = 01h
AL = service ID
01h communications
02h primary 3270 emulation
03h async terminal emulation
04h file deflectoin
07h StreetTalk
08h environment
0Ah secondary 3270 emulation
0Bh semaphore service
0Ch 3270 emulation active status
0Dh 3270 keyboard interrupt simulator
Return: AX = status
0000h installed
0001h not installed
0002h invalid ID
---------------------------------------------
INT 61 - Banyan VINES - GET REVISION NUMBER
AH = 02h
DS:DX -> 2-byte buffer for result
Return: AX = 0000h installed
DS:DX buffer contains revision number as
10000d * major_ver + 100d * minor_ver + patch_revision
---------------------------------------------
INT 62 - reserved for user interrupt
---------------------------------------------
INT 62 - Adaptec and OMTI controllers - DRIVE 0 DATA
---------------------------------------------
INT 63 - reserved for user interrupt
---------------------------------------------
INT 63 - Adaptec and OMTI controllers - DRIVE 0 DATA
---------------------------------------------
INT 63 - Oracle SQL Protected Mode Executive - ???
---------------------------------------------
INT 63 - 4+Power FLOPPY CONTROLLER - ORIGINAL INT 13/40
the "4+Power" quad floppy controller BIOS hooks INT 13 (or INT 40 if INT 13
has been moved there) and places the old value here
---------------------------------------------
INT 64 - reserved for user interrupt
---------------------------------------------
INT 64 - Adaptec controllers - DRIVE 1 DATA
---------------------------------------------
INT 64 - Oracle SQL Protected Mode Executive - ???
---------------------------------------------
INT 64 - Novell NetWare - LOW-LEVEL API
Note: equivalent to INT 7A
---------------------------------------------
INT 64 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
---------------------------------------------
INT 64 - Extended Batch Language v3.14+
AH = function
00h to 5Fh chained to previous handler
60h to 6Dh reserved, return immediately
80h to FFh chained to previous handler
6Eh clear ??? counter/flag
6Fh return counter/flag that AH=6Eh clears
70h ???
AL = ???
71h ???
AL = ???
72h ???
73h insert byte at end of keyboard buffer
AL = byte to insert
74h insert byte at front of keyboard buffer
AL = byte to insert
75h ???
76h get keyboard "stack" status
AL = 'K' if kbd read will read physical keyboard
'S' if it will read EBL internal keyboard buffer
AH = ???
77h clear internal keyboard buffer
78h ???
AL = ???
79h ???
7Ah ???
AL = ???
7Bh ???
AL = ???
7Ch ???
AL = ???
7Dh ???
AL = ???
7Eh clear buffer for ???
7Fh installation check
Return: CX = version in BCD
DI = segment of ???
BX = segment of next program's PSP???
Notes: Extended Batch Language is a batch-file enhancer by Seaware
the chaining does not check whether the interrupt had been hooked
before, so if you try to chain when the previous vector was
0000h:0000h, you'll be in trouble
---------------------------------------------
INT 65 - reserved for user interrupt
---------------------------------------------
INT 65 - Adaptec controllers - DRIVE 1 DATA
---------------------------------------------
INT 65 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
---------------------------------------------
INT 65 - SD.COM v6.2
The unregistered version of SD62.COM uses the low byte of this vector to
count the number of invocations, displaying a registration reminder each
time after the 20th use.
---------------------------------------------
INT 66 - reserved for user interrupt
---------------------------------------------
INT 66 - Adaptec controllers - DRIVE 1 DATA
---------------------------------------------
INT 66 - Data General DG10 - MicroECLIPSE COPROCESSOR INTERFACE
---------------------------------------------
INT 66 - THESPLUS - UNINSTALL
AX = FFFEh
BX = FFFEh
Return: only if unsuccessful
Note: installation check is for the interrupt handler to begin with the bytes
FBh, 9Ch, and the string "THESPLUS" to appear at offset 0005h in the
interrupt handler segment.
---------------------------------------------
INT 67 - Adaptec controllers - DRIVE 1 DATA
---------------------------------------------
INT 67 - LIM EMS - GET MANAGER STATUS
AH = 40h
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested by application
Note: this call can be used only after establishing that the EMS driver is in
fact present
---------------------------------------------
INT 67 - LIM EMS - GET PAGE FRAME SEGMENT
AH = 41h
Return: AH = 00h function successful
BX = segment of page frame
AH = error code (see AH=40h)
---------------------------------------------
INT 67 - LIM EMS - GET NUMBER OF PAGES
AH = 42h
Return: AH = 00h function successful
BX = number of unallocated pages
DX = total number of pages
AH = error code (see AH=40h)
---------------------------------------------
INT 67 - LIM EMS - GET HANDLE AND ALLOCATE MEMORY
AH = 43h
BX = number of logical pages to allocate
Return: AH = status
00h function successful
DX = handle
80h internal error
81h hardware malfunction
84h undefined function requested
85h no more handles available
87h more pages requested than physically exist
88h more pages requested than currently available
89h zero pages requested
SeeAlso: AH=45h
---------------------------------------------
INT 67 - LIM EMS - MAP MEMORY
AH = 44h
AL = physical page number (0-3)
BX = logical page number
DX = handle
Return: AH = status
00h function successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
8Ah invalid logical page number
8Bh illegal physical-page number
SeeAlso: AH=69h
---------------------------------------------
INT 67 - LIM EMS - RELEASE HANDLE AND MEMORY
AH = 45h
DX = EMM handle
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
86h error in save or restore of mapping context
SeeAlso: AH=43h
---------------------------------------------
INT 67 - LIM EMS - GET EMM VERSION
AH = 46h
Return: AH = status
00h successful
AL = EMM version number
80h internal error
81h hardware malfunction
84h undefined function requested
---------------------------------------------
INT 67 - LIM EMS - SAVE MAPPING CONTEXT
AH = 47h
DX = handle
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
8Ch page-mapping hardware state save area is full
8Dh save of mapping context failed
SeeAlso: AH=47h
---------------------------------------------
INT 67 - LIM EMS - RESTORE MAPPING CONTEXT
AH = 48h
DX = handle
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
8Eh restore of mapping context failed
SeeAlso: AH=47h
---------------------------------------------
INT 67 - LIM EMS - reserved - GET I/O PORT ADDRESSES
AH = 49h
Note: defined in EMS 3.0, but undocumented in EMS 3.2
---------------------------------------------
INT 67 - LIM EMS - reserved - GET TRANSLATION ARRAY
AH = 4Ah
Note: defined in EMS 3.0, but undocumented in EMS 3.2
---------------------------------------------
INT 67 - LIM EMS - GET NUMBER OF EMM HANDLES
AH = 4Bh
Return: AH = status
00h successful
BX = number of EMM handles
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
---------------------------------------------
INT 67 - LIM EMS - GET PAGES OWNED BY HANDLE
AH = 4Ch
DX = EMM handle
Return: AH = status
00h successful
BX = number of logical pages
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
SeeAlso: AH=4Dh
---------------------------------------------
INT 67 - LIM EMS - GET PAGES FOR ALL HANDLES
AH = 4Dh
ES:DI -> array to receive information
Return: AH = status
00h successful
BX = number of active EMM handles
array filled with 2-word entries, consisting of a handle
and the number of pages allocated to that handle
80h internal error
81h hardware malfunction
84h undefined function requested
SeeAlso: AH=4Ch
---------------------------------------------
INT 67 - LIM EMS - GET OR SET PAGE MAP
AH = 4Eh
AL = 00h if getting mapping registers
01h if setting mapping registers
02h if getting and setting mapping registers at once
03h if getting size of page-mapping array
DS:SI -> array holding information (AL=01/02)
ES:DI -> array to receive information (AL=00/02)
Return: AH = status
00h successful
AL = bytes in page-mapping array (AL=03h only)
array pointed to by ES:DI receives mapping info (AL=00h/02h)
80h internal error
81h hardware malfunction
84h undefined function requested
8Fh undefined subfunction parameter
A3h contents of source array corrupted (EMS 4.0?)
Note: this function was designed to be used by multitasking operating systems
and should not ordinarily be used by appplication software.
SeeAlso: AH=4Fh
---------------------------------------------
INT 67 - LIM EMS 4.0 - GET/SET PARTIAL PAGE MAP
AH = 4Fh
AL = subfunction
00h get partial page map
DS:SI -> structure containing list of segments whose mapping
contexts are to be saved
ES:DI -> array to receive page map
01h set partial page map
DS:SI -> structure containing saved partial page map
02h get size of partial page map
BX = number of mappable segments in the partial map to be saved
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
8Bh one of specified segments is not mappable
8Fh undefined subfunction parameter
A3h contents of partial page map corrupted or count of mappable
segments exceeds total number of mappable segments in system
AL = size of partial page map for subfunction 02h
SeeAlso: AH=4Eh
---------------------------------------------
INT 67 - LIM EMS 4.0 - MAP/UNMAP MULTIPLE HANDLE PAGES
AH = 50h
AL = subfunction
00h
01h
DX = handle
CX = number of entries in array
DS:SI -> mapping array
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
8Ah one or more logical pages are invalid
8Bh one or more physical pages are invalid
8Fh invalid subfunction
SeeAlso: AH=40h
---------------------------------------------
INT 67 - LIM EMS 4.0 - REALLOCATE PAGES
AH = 51h
DX = handle
BX = number of pages to be allocated to handle
Return: BX = actual number of pages allocated to handle
AH = status
00h successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
87h more pages requested than present in system
88h more pages requested than currently available
---------------------------------------------
INT 67 - LIM EMS 4.0 - GET/SET HANDLE ATTRIBUTES
AH = 52h
AL = subfunction
00h get handle attributes
Return: AL = attribute
00h handle is volatile
01h handle is nonvolatile
01h set handle attributes
BL = new attribute (see returned AL)
02h get attribute capability
Return: AL = attribute capability
00h only volatile handles supported
01h both volatile and non-volatile supported
DX = handle
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
8Fh undefined subfunction
90h undefined attribute type
91h feature not supported
SeeAlso: AH=53h
---------------------------------------------
INT 67 - LIM EMS 4.0 - GET/SET HANDLE NAME
AH = 53h
AL = subfunction
00h get handle name
ES:DI -> 8-byte handle name array
01h set handle name
DS:SI -> 8-byte handle name
DX = handle
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
83h invalid handle
84h undefined function requested
8Fh undefined subfunction
A1h duplicate handle name
SeeAlso: AH=52h
---------------------------------------------
INT 67 - LIM EMS 4.0 - GET HANDLE DIRECTORY
AH = 54h
AL = subfunction
00h get handle directory
ES:DI -> buffer for handle directory
01h search for named handle
DS:SI -> 8-byte name
02h get total number of handles
Return: AL = number of entries in handle directory (subfunction 00h)
DX = value of named handle (subfunction 01h)
BX = total number of handles (subfunction 02h)
AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
8Fh undefined subfunction
A0h no such handle name
A1h a handle found had no name
---------------------------------------------
INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND JUMP
AH = 55h
AL = subfunction
00h physical page numbers provided by caller
01h segment addresses provided by caller
DX = handle
DS:SI -> structure containing map and jump address
Return: (at target address unless error)
AH = status
00h successful
80h internal error
81h hardware failure
83h invalid handle
84h undefined function requested
8Ah invalid logical page number encountered
8Bh invalid physical page number encountered
8Fh invalid subfunction
SeeAlso: AH=56h
---------------------------------------------
INT 67 - LIM EMS 4.0 - ALTER PAGE MAP AND CALL
AH = 56h
AL = subfunction
00h physical page numbers provided by caller
DX = handle
DS:SI -> structure containing page map and call address
01h segment addresses provided by caller
DX = handle
DS:SI -> structure containing page map and call address
02h get page map stack space required
Return: BX = stack space required
Return: (if successful, the target address is called. Use a RETF to return and
restore mapping context)
AH = status (see AH=55h)
SeeAlso: AH=55h
---------------------------------------------
INT 67 - LIM EMS 4.0 - MOVE/EXCHANGE MEMORY REGION
AH = 57h
AL = subfunction
00h move memory region
01h exchange memory region
DS:SI -> structure describing source and destination
Return: AH = status
00h successful
80h internal error
81h hardware failure
83h invalid handle
84h undefined function requested
8Ah invalid logical page number encountered
8Fh undefined subfunction
92h successful, but a portion of the source region has been
overwritten
93h length of source or destination region exceeds length of region
allocated to either source or destination handle
94h conventional and expanded memory regions overlap
95h offset within logical page exceeds size of logical page
96h region length exceeds 1M
97h source and destination EMS regions have same handle and overlap
98h memory source or destination type undefined
A2h attempted to wrap around 1M conventional address space
---------------------------------------------
INT 67 - LIM EMS 4.0 - GET MAPPABLE PHYSICAL ADDRESS ARRAY
AH = 58h
AL = subfunction
00h get mappable physical address array
ES:DI -> buffer to be filled with array
01h get number of entries in m.p.a. array
Return: CX = number of entries in array
AH = status
00h successful
80h internal error
81h hardware failure
84h undefined function requested
8Fh undefined subfunction
---------------------------------------------
INT 67 - LIM EMS 4.0 - GET EXPANDED MEMORY HARDWARE INFORMATION
AH = 59h
AL = subfunction
00h get hardware configuration array
ES:DI -> buffer to be filled with array (see below)
01h get unallocated raw page count
Return: BX = unallocated raw pages
DX = total raw pages
Return: AH = status
00h successful
80h internal error
81h hardware failure
84h undefined function requested
8Fh undefined subfunction
A4h access denied by operating system
Note: subfunction 00h is for use by operating systems only, and can be
enabled or disabled at any time by the operating system
Format of hardware configuration array:
Offset Size Description
00h WORD size of raw EMM pages in paragraphs
02h WORD number of alternate register sets
04h WORD size of mapping-context save area in bytes
06h WORD number of register sets assignable to DMA
08h WORD DMA operation type
0000h DMA with alternate register sets
0001h only one DMA register set
---------------------------------------------
INT 67 - LIM EMS 4.0 - ALLOCATE STANDARD/RAW PAGES
AH = 5Ah
AL = subfunction
00h allocate standard pages
01h allocate raw pages
BX = number of pages to allocate
Return: DX = handle
AH = status
00h successful
80h internal error
81h hardware failure
84h undefined function requested
85h no more handles available
87h insufficient memory pages in system
88h insufficient memory pages available
8Fh undefined subfunction
---------------------------------------------
INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET
AH = 5Bh
AL = subfunction
00h get alternate map register set
Return: BL = current active alternate map register set number
ES:DI -> map register context save area if BL=00h
01h set alternate map register set
BL = new alternate map register set number
ES:DI -> map register context save area if BL=0
02h get alternate map save array size
Return: DX = array size in bytes
03h allocate alternate map register set
Return: BL = number of map register set; 00h = not supported
04h deallocate alternate map register set
BL = number of alternate map register set
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
8Fh undefined subfunction
9Ah specified alternate map register set not supported
9Bh all alternate map register sets currently allocated
9Ch alternate map register sets not supported
9Dh undefined or unallocated alternate map register set
A3h source array corrupted
A4h operating system denied access
Note: this function is for use by operating systems only, and can be
enabled or disabled at any time by the operating system
---------------------------------------------
INT 67 - LIM EMS 4.0 - ALTERNATE MAP REGISTER SET - DMA REGISTERS
AH = 5Bh
AL = subfunction
05h allocate DMA register set
Return: BL = DMA register set number, 00h if not supported
06h enable DMA on alternate map register set
BL = DMA register set number
DL = DMA channel number
07h disable DMA on alternate map register set
BL = DMA register set number
08h deallocate DMA register set
BL = DMA register set number
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
8Fh undefined subfunction
9Ah specified DMA register set not supported
9Bh all DMA register sets currently allocated
9Ch alternate DMA sets not supported
9Dh undefined or unallocated DMA register set
9Eh dedicated DMA channels not supported
9Fh specified dedicated DMA channel not supported
A3h source array corrupted
A4h operating system denied access
Note: this function is for use by operating systems only, and can be
enabled or disabled at any time by the operating system
---------------------------------------------
INT 67 - LIM EMS 4.0 - PREPARE EXPANDED MEMORY HARDWARE FOR WARM BOOT
AH = 5Ch
Return: AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
---------------------------------------------
INT 67 - LIM EMS 4.0 - ENABLE/DISABLE OS FUNCTION SET FUNCTIONS
AH = 5Dh
AL = subfunction
00h enable OS Function Set
01h disable OS Function Set
02h return access key (resets memory manager, returns access key at
next invocation)
BX,CX = access key returned by first invocation
Return: BX,CX = access key, returned only on first invocation of function
AH = status
00h successful
80h internal error
81h hardware malfunction
84h undefined function requested
8Fh undefined subfunction
A4h operating system denied access
---------------------------------------------
INT 67 - EEMS - GET PHYSICAL WINDOW ARRAY
AH = 60h
ES:DI -> buffer
Return: AH = status
AL = number of entries
buffer at ES:DI filled
---------------------------------------------
INT 67 - EEMS - GENERIC ACCELERATOR CARD SUPPORT
AH = 61h
???
Return: ???
Note: can be used by accelerator card manufacturer to flush RAM cache,
ensuring that the cache accurately reflects what the processor would
see without the cache.
---------------------------------------------
INT 67 - EEMS - GET ADDRESSES OF ALL PAGE FRAMES IN SYSTEM
AH = 68h
ES:DI -> buffer
Return: AH = status
AL = number of entries
buffer at ES:DI filled
Note: equivalent to LIM 4.0 function 58h
---------------------------------------------
INT 67 - EEMS - MAP PAGE INTO FRAME
AH = 69h
AL = frame number
BX = page number
DX = handle
Return: AH = status
Note: similar to EMS function 44h
SeeAlso: AH=44h,50h,6Ah
---------------------------------------------
INT 67 - EEMS - PAGE MAPPING
AH = 6Ah
AL = subfunction
00h save partial page map
CH = first page frame
CL = number of frames
ES:DI -> buffer which is to be filled
01h restore partial page map
CH = first page frame
CL = number of frames
DI:SI -> previously saved page map
02h save and restore partial page map
CH = first page frame
CL = number of frames
ES:DI = buffer for current page map
DI:SI = new page map
03h get size of save array
CH = first page frame
CL = number of frames
Return: AL = size of array in bytes
04h switch to standard map register setting
05h switch to alternate map register setting
06h deallocate pages mapped to frames in conventional memory
CH = first page frame
CL = number of frames
Return: AH = status
Note: similar to EMS function 4Eh, except that a subrange of pages can be
specified
SeeAlso: AH=69h
---------------------------------------------
INT 67 - Virtual Control Program Interface - INSTALLATION CHECK
AX = DE00h
Return: AH = 00h VCPI is present
BH = major version number
BL = minor version number
AH nonzero VCPI not present
---------------------------------------------
INT 67 - Virtual Control Program Interface - GET PROTECTED MODE INTERFACE
AX = DE01h
ES:DI -> 4K page table buffer
DS:SI -> three descriptor table entries in GDT
first becomes code segment descriptor, other two for use by
main control program
Return: AH = 00h successful
DI -> first unused page table entry in buffer
EBX -> protected mode entry point in code segment
AH = nonzero failed
---------------------------------------------
INT 67 - Virtual Control Program Interface - GET MAX PHYSICAL MEMORY ADDRESS
AX = DE02h
Return: AH = 00h successful
EDX = physical address of highest 4K memory page
AH nonzero: failed
---------------------------------------------
INT 67 - Virtual Control Program Interface - GET NUMBER OF FREE 4K PAGES
AX = DE03h
Return: AH = 00h successful
EDX = number of free 4K pages
AH nonzero: failed
Notes: returns total number of pages available to ALL tasks in system
also available in protected mode by calling the protected-mode VCPI
entry point
SeeAlso: AX=DE04h
---------------------------------------------
INT 67 - Virtual Control Program Interface - ALLOCATE A 4K PAGE
AX = DE04h
Return: AH = 00h successful
EDX = physical address of allocated page
AH nonzero: failed
Notes: the client program is responsible for freeing all memory allocated
with this call before terminating
also available in protected mode by calling the protected-mode VCPI
entry point
SeeAlso: AX=DE03h,DE05h
---------------------------------------------
INT 67 - Virtual Control Program Interface - FREE 4K PAGE
AX = DE05h
EDX = physical address of 4K page
Return: AH = 00h successful
AH nonzero: failed
Note: also available in protected mode by calling the protected-mode VCPI
entry point
SeeAlso: AX=DE04h
---------------------------------------------
INT 67 - Virtual Control Program Interface - GET PHYS ADDR OF PAGE IN FIRST MB
AX = DE06h
CX = page number (linear address shifted right 12 bits)
Return: AH = 00h successful
EDX = physical address of page
AH nonzero: invalid page number (AH = 8Bh recommended)
---------------------------------------------
INT 67 - Virtual Control Program Interface - READ CR0
AX = DE07h
Return: AH = 00h
EBX = value of Control Register 0
SeeAlso: AX=DE07h
---------------------------------------------
INT 67 - Virtual Control Program Interface - READ DEBUG REGISTERS
AX = DE08h
ES:DI -> array of 8 DWORDs
Return: AH = 00h
buffer filled with DR0 first, DR7 last, DR4 and DR5 unused
SeeAlso: AX=DE09h
---------------------------------------------
INT 67 - Virtual Control Program Interface - SET DEBUG REGISTERS
AX = DE09h
ES:DI -> array of 8 DWORDs holding new values of debug registers
Return: AH = 00h
Note: values for DR4 and DR5 ignored
SeeAlso: AX=DE08h
---------------------------------------------
INT 67 - Virtual Control Program Interface - GET 8259 INTERRUPT VECTOR MAPPINGS
AX = DE0Ah
Return: AH = 00h successful
BX = first vector used by master 8259 (IRQ0)
CX = first vector used by slave 8259 (IRQ8)
AH nonzero: failed
Note: CX is undefined in systems without a slave 8259
SeeAlso: AX=DE0Bh
---------------------------------------------
INT 67 - Virtual Control Program Interface - SET 8259 INTERRUPT VECTOR MAPPINGS
AX = DE0Bh
BX = first vector used by master 8259
CX = first vector used by slave 8259
interrupts disabled
Return: AH = 00h successful
AH nonzero: failed
Notes: This call merely informs the server that the client has changed the
interrupt mappings. The client may not change the mappings if they
have already been changed by the server or another client, and is
responsible for restoring the original mappings before terminating.
SeeAlso: AX=DE0Ah
---------------------------------------------
INT 67 - Virtual Control Program Interface - SWITCH TO PROTECTED MODE
AX = DE0Ch
ESI = linear address in first megabyte of values for system registers
interrupts disabled
Return: interrupts disabled
GDTR, IDTR, LDTR, TR loaded
SS:ESP must have at least 16 bytes space, and the entry point is
required to set up a new stack before enabling interrupts
EAX, ESI, DS, ES, FS, GS destroyed
SeeAlso: INT 15/AH=89h
Note: in protected mode, calling the protected-mode VCPI entry point with
AX = DE0Ch
DS = segment selector from function DE01h
SS:ESP in first megabyte of linear memory
STACK:QWORD return address from FAR call to 32-bit segment
DWORD EIP
DWORD CS
DWORD reserved for EFLAGS
DWORD ESP
DWORD SS
DWORD ES
DWORD DS
DWORD FS
DWORD GS
and interrupts disabled, will switch to virtual86 mode with
interrupts disabled, all segment registers loaded, and EAX destroyed.
Format of system register values for switch to protected mode:
Offset Size Description
00h DWORD value for CR3
04h DWORD linear address in first megabyte of value for GDTR
08h DWORD linear address in first megabyte of value for IDTR
0Ch WORD value for LDTR
0Eh WORD value for TR
10h PWORD CS:EIP of protected mode entry-point
---------------------------------------------
INT 68 - APPC/PC
AH = 01h
DS:DX -> control block
Format of control block:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD verb (action)
0Eh 6 BYTEs 00h
14h DWORD (high byte first) return code (see below)
---if verb = 1B00h (DISPLAY)---
18h WORD 00h
1Ah 8 BYTEs (high byte first) logical unit ID
22h 8 BYTEs (high byte first) partner logical unit name
2Ah 8 BYTEs (high byte first) mode name
32h BYTE logical unit session limit
33h BYTE partner logical unit session limit
34h BYTE mode maximum negotiable session limit
35h BYTE current session limit
36h BYTE minimum negotiated winner limit
37h BYTE maximum negotiated loser limit
38h BYTE active session count
39h BYTE active CONWINNER session count
3Ah BYTE active CONLOSER session count
3Bh BYTE session termination count
3Ch BYTE bit 7: SESSION_TERMINATION_TARGET_DRAIN
bit 6: SESSION_TERMINATION_SOURCE_DRAIN
---if verb=2000h (Attach Physical Unit)---
18h WORD 00h
1Ah BYTE version
1Bh BYTE release
1Ch 8 BYTEs (high byte first) net name
24h 8 BYTEs (high byte first) physical unit name
2Ch 8 BYTEs 00h
34h DWORD pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
38h DWORD 00h
3Ch BYTE 00h RETURN_CONTROL: COMPLETE
01h RETURN_CONTROL: INCOMPLETE
---if verb=2100h (Attach Logical Unit)---
18h WORD 70 offset to partner logical unit record
1Ah 8 BYTEs (high byte first) logical unit name
22h 8 BYTEs (high byte first) logical unit ID
2Ah BYTE logical unit local address
2Bh BYTE logical unit session limit
2Ch DWORD pointer to CREATE_TP_EXIT routine,
FFFFFFFFh = reject incoming ALLOCATEs
00000000h = queue ALLOCATEs
30h DWORD 00h
34h DWORD pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh=don't log errors
38h DWORD 00h
3Ch BYTE maximum TPs
3Dh BYTE queue depth
3Eh DWORD pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh=no pswd exit
42h DWORD 00h
46h WORD total length of partner records
for each partner logical unit:
WORD length of this partner logical unit record
WORD 42 offset to mode records
8 BYTEs (high byte first) partner logical unit name
BYTE partner logical unit security capabilities
bit 7: already verified
bit 6: conversation level security
bit 5: session level security
BYTE partner logical unit session limit
WORD partner logical unit maximum MC_SEND_LL
8 BYTEs (high byte first) partner logical unit DLC name
BYTE partner logical unit adapter number
17 BYTEs (counted string) partner logical unit adapter address
WORD total length of mode records
for each mode:
WORD 16 length of this mode record
8 BYTEs (high byte first) mode name
WORD RU_SIZE high bound
WORD RU_SIZE low bound
BYTE mode maximum negotiable session limit
BYTE pacing size for receive
---if verb=2200h (Detach Logical Unit)---
18h 8 BYTEs (high byte first) logical unit ID
20h BYTE 00h
---if verb=2700h (Detach Physical Unit)---
18h BYTE 00h type: hard
01h type: soft
---if verb=2B00h (Activate DLC)---
18h 8 BYTEs (high byte first) DLC name
20h BYTE adapter number
Values for return code:
0000h successful
0001h BAD_TP_ID
0002h BAD_CONV_ID
0003h bad logical unit ID
0008h no physical unit attached
0110h bad state
01B1h BAD_PART_LUNAME
01B2h bad mode name
0201h physical unit already active
0211h logical unit already active
0212h BAD_PART_SESS
0213h BAD_RU_SIZES
0214h BAD_MODE_SESS
0216h BAD_PACING_CNT
0219h EXTREME_RUS
021Ah SNASVCMG_1
0223h SSCP_CONNECTED_LU
0230h invalid change
0243h too many TPs
0272h adapter close failure
0281h GET_ALLOC_BAD_TYPE
0282h unsuccessful
0283h DLC failure
0284h unrecognized DLC
0286h duplicate DLC
0301h SSCP_PU_SESSION_NOT_ACTIVE
0302h data exceeds RU size
0401h invalid direction
0402h invalid type
0403h segment overlap
0404h invalid first character
0405h table error
0406h conversion error
F0010000h APPC disabled
F0020000h APPC busy
F0030000h APPC abended
F0040000h incomplete
Routines defined by LU_LU_PASSWORD_EXIT, CREATE_TP_EXIT, and SYSTEM_LOG_EXIT
pointers are called by pushing the DWORD pointer to the verb on the stack and
then performing a FAR call.
Format of ACCESS_LU_LU_PW verb:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD 1900h
0Eh 8 BYTEs (high byte first) logical unit ID
16h 8 BYTEs (high byte first) logical unit name
1Eh 8 BYTEs (high byte first) partner logical unit name
26h 17 BYTEs (counted string) partner fully qualified logical unit name
37h BYTE password available (0=no, 1=yes)
38h 8 BYTEs password
Format of CREATE_TP verb:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD 2300h
0Eh 6 BYTEs 00h
14h DWORD (high byte first) sense code
00000000h Ok
080F6051h SECURITY_NOT_VALID
084B6031h TP_NOT_AVAIL_RETRY
084C0000h TP_NOT_AVAIL_NO_RETRY
10086021h TP_NAME_NOT_RECOGNIZED
10086034h CONVERSATION_TYPE_MISMATCH
10086041h SYNC_LEVEL_NOT_SUPPORTED
18h 8 BYTEs (high byte first) TP ID
20h 8 BYTEs (high byte first) logical unit ID
28h DWORD (high byte first) conversation ID
2Ch BYTE 0 basic conversation, 1 mapped conversation
2Dh BYTE 0 no sync level, 1 confirm
2Eh BYTE reserved
2Fh 65 BYTEs (counted string) transaction program name
70h 6 BYTEs 00h
76h WORD length of ERROR_LOG_DATA to return
78h DWORD pointer to ERROR_LOG_DATA buffer
7Ch 8 BYTEs (high byte first) partner logical unit name
84h 18 BYTEs (counted string) partner fully qualified logical unit name
96h 8 BYTEs (high byte first) mode name
9Eh 12 BYTEs 00h
AAh 11 BYTEs (counted string) password
B5h 11 BYTEs (counted string) user ID
C0h BYTE 0 verification should be performed
1 already verified
Format of SYSLOG verb:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD 2600h
0Eh 10 BYTEs 00h
18h WORD (high byte first) type
1Ah DWORD (high byte first) subtype
1Eh DWORD pointer to ADDITIONAL_INFO
22h DWORD (high byte first) conversation ID
26h 8 BYTEs (high byte first) TP ID
2Eh 8 BYTEs (high byte first) physical unit or logical unit name
36h WORD length of data
38h DWORD pointer to data
3Ch BYTE 00h
---------------------------------------------
INT 68 - APPC/PC
AH = 02h
DS:DX -> control block
Format of control block:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD verb (action)
0Eh BYTE 1 if MC_ (mapped conversation) form of verb
0 if basic verb
0Fh 5 BYTEs reserved (0)
14h WORD (high byte first) primary return code (see below)
16h DWORD (high byte first) error code (see below)
1Ah 8 BYTEs (high byte first) TP_ID
22h DWORD (high byte first) conversation ID
---if verb=0100h (Allocate or MC_Allocate)---
26h BYTE (MC_Allocate only) 0 basic conversation
1 mapped conversation
27h BYTE 00h SYNC_LEVEL = none
01h SYNC_LEVEL = confirm
28h WORD 0000h
2Ah BYTE 00h RETURN_CONTROL: when session allocated
01h RETURN_CONTROL: immediate
02h RETURN_CONTROL: when session free
2Bh 8 BYTEs 00h
33h 8 BYTEs (high byte first) partner logical unit name
3Bh 8 BYTEs (high byte first) mode name
43h 65 BYTEs (counted string) TP name
84h BYTE 00h security: none
01h security: same
02h security: pgm
85h 11 BYTEs 00h
90h 11 BYTEs (counted string) password
9Bh 11 BYTEs (counted string) user ID
A6h WORD PIP_DATA length
A8h DWORD pointer to PIP_DATA
---if verb=0300h (Confirm or MC_Confirm)---
26h BYTE request to send received (0=no, 1=yes)
---if verb=0400h (Confirmed or MC_Confirmed), no additional fields---
---if verb=0500h (Deallocate or MC_Deallocate)---
26h BYTE 00h
27h BYTE type 0 SYNC_LEVEL
1 FLUSH
2 ABEND_PROC
3 ABEND_SVC
4 ABEND_TIMER
5 ABEND
28h WORD (MC_Deallocate only) length of error log data
2Ah DWORD (MC_Deallocate only) pointer to error log data
---if verb=0600h (Flush or MC_Flush), no additional fields---
---if verb=0700h (Get_Attributes or MC_Get_Attributes)---
26h 8 BYTEs (high byte first) logical unit ID
2Eh BYTE 00h
2Fh BYTE SYNC_LEVEL (0=none, 1=confirm)
30h 8 BYTEs (high byte first) mode name
38h 8 BYTEs (high byte first) own net name
40h 8 BYTEs (high byte first) own logical unit name
48h 8 BYTEs (high byte first) partner logical unit name
50h 18 BYTEs (counted string) partner's fully qualified logical unit name
62h BYTE 00h
63h 11 BYTEs (counted string) user ID
---if verb=0800h (Get_Type)---
26h BYTE type (0=basic conversation, 1=mapped conversation)
---if verb=0900h (Post_on_Receipt)---
26h WORD maximum length
28h BYTE fill (0=buffer, 1=LL)
---if verb=0A00h (Prepare_to_Receive or MC_Prepare_to_Receive)---
26h BYTE type (0=SYNC_LEVEL, 1=FLUSH)
27h BYTE locks (0=short, 1=long)
---if verb=0B00h (Receive_and_Wait or MC_Receive_and_Wait)---
26h BYTE what received
00h data
01h data complete
02h data incomplete
03h confirm
04h confirm send
05h confirm deallocate
06h send
27h BYTE (MC_Receive_and_Wait only) fill (0=buffer, 1=LL)
28h BYTE Request_to_Send_Received (0=no, 1=yes)
29h WORD maximum length
2Bh WORD data length
2Dh DWORD pointer to data
---if verb=0C00h (Receive_Immediate or MC_Receive_Immediate)---
26h BYTE what received
00h data
01h data complete
02h data incomplete
03h confirm
04h confirm send
05h confirm deallocate
06h send
27h BYTE (MC_Receive_Immediate only) fill (0=buffer, 1=LL)
28h BYTE Request_to_Send_Received (0=no, 1=yes)
29h WORD maximum length
2Bh WORD data length
2Dh DWORD pointer to data
---if verb=0E00h (Request_to_Send or MC_Request_to_Send), no other fields---
---if verb=0F00h (Send_Data or MC_Send_Data)---
26h BYTE request to send received (0=no, 1=yes)
27h BYTE 00h
28h WORD data length
2Ah DWORD pointer to data
---if verb=1000h (Send_Error or MC_Send_Error)---
26h BYTE request to send received (0=no, 1=yes)
27h BYTE type (0=program, 1=SVC)
28h DWORD 00h
2Ch WORD (MC_Send_Error only) LOG_DATA length
2Eh DWORD (MC_Send_Error only) pointer to LOG_DATA
---if verb=1200h (Test or MC_Test)---
26h BYTE (MC_Test only) test (0=posted, 1=request_to_send received)
Note: error code has different interpretations for:
0 posted data
1 posted not data (primary return code = 0)
1 bad TP_ID (primary return code = 1)
---if verb=1300h (Wait)---
26h BYTE number of conversations to wait on
Note: error codes have interpretations as for 1200h above
Values for primary return code:
0000h successful
0001h parameter check
0002h state check
0003h allocation error
0005h deallocate abended
0006h deallocate abended program
0007h deallocate abended SVC
0008h deallocate abended timer
0009h deallocate normal return
000Ah data posting blocked
000Bh posting not active
000Ch PROG_ERROR_NO_TRUNC
000Dh PROG_ERROR_TRUNC
000Eh PROG_ERROR_PURGING
000Fh CONV_FAILURE_RETRY
0010h CONV_FAILURE_NO_RETRY
0011h SVC_ERROR_NO_TRUNC
0012h SVC_ERROR_TRUNC
0013h SVC_ERROR_PURGING
0014h unsuccessful
0018h CNOS partner logical unit reject
0019h conversation type mixed
F001h APPC disabled
F002h APPC busy
F003h APPC abended
F004h incomplete
Values for error code:
0001h bad TP ID
0002h bad conversation ID
0004h allocation error, no retry
0005h allocation error, retry
0006h data area crosses segment boundary
0010h bad TPN length
0011h bad CONV length
0012h bad SYNC level
0013h bad security selection
0014h bad return control
0015h SEC_TOKENS too big
0016h PIP_LEN incorrect
0017h no use of SNASVCMG
0018h unknown partner mode
0031h confirm: SYNC_NONE
0032h confirm: bad state
0033h confirm: NOT_LL_BDY
0041h confirmed: bad state
0051h deallocate: bad type
0052h deallocate: flush bad state
0053h deallocate: confirm bad state
0055h deallocate: NOT_LL_BDY
0057h deallocate: log LL_WRONG
0061h flush: not send state
0091h post on receipt: invalid length
0092h post on receipt: not in receive state
0093h post on receipt: bad fill
00A1h prepare to receive:invalid type
00A2h prepare to receive: unfinished LL
00A3h prepare to receive: not in send state
00B1h receive and wait: bad state
00B2h receive and wait: NOT_LL_BDY
00B5h receive and wait: bad fill
00C1h receive immediate: not in receive state
00C4h receive immediate: bad fill
00E1h request to send: not in receive state
00F1h send data: bad LL
00F2h send data: not in send state
0102h send error: log LL wrong
0103h send error: bad type
0121h test: invalid type
0122h test: not in receive state
---------------------------------------------
INT 68 - APPC/PC
AH = 03h
DS:DX -> control block (see below)
Format of control block:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD verb (action)
0Eh 6 BYTEs 0
14h DWORD (high byte first) return code (see AH=01h)
18h WORD 0
1Ah 8 BYTEs (high byte first) logical unit ID
---if verb=2400h (TP Started), control block continues---
22h 8 BYTEs (high byte first) TP ID
---if verb=2800h (Get ALLOCATE), control block continues---
22h BYTE type
00h dequeue
01h test
23h DWORD pointer to CREATE_TP record
---if verb=2A00h (Change Logical Unit). control block continues---
22h DWORD pointer to CREATE_TP_EXIT routine
FFFFFFFFh reject incoming ALLOCATEs
00000000h queue ALLOCATEs
26h DWORD 00000000h
2Ah DWORD pointer to SYSTEM_LOG_EXIT routine, FFFFFFFFh= don't log errors
2Eh DWORD 00000000h
32h BYTE maximum TPs
33h BYTE 00h stop QUEUE_ALLOCATEs
01h resume QUEUE_ALLOCATEs
34h DWORD pointer to LU_LU_PASSWORD_EXIT routine, FFFFFFFFh = no exit
38h DWORD 00000000h
---------------------------------------------
INT 68 - APPC/PC
AH = 04h
DS:DX -> control block (see below)
Format of control block:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD verb (action)
2500h TP_ENDED
2900h TP_VALID
0Eh 6 BYTEs 0
14h DWORD (high byte first) return code (see AH=01h)
18h WORD 0
1Ah 8 BYTEs (high byte first) TP_ID
22h DWORD -> CREATE_TP record (only if verb = 2900h)
---------------------------------------------
INT 68 - APPC/PC - TRANSFER MSG DATA
AH = 05h
DS:DX -> control block (see below)
Format of control block:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD 1C00h
0Eh BYTE 00h user defined
01h NMVT
02h alert subvectors
03h PDSTATS subvectors
0Fh 5 BYTEs 0
14h DWORD (high byte first) return code (see AH=01h)
18h 12 BYTEs 0
24h BYTE if bit 0 clear, add correlation subvector
if bit 1 clear, add product set ID subvector
if bit 2 clear, do SYSLOG
if bit 3 clear, send SSCP_PU_SESSION
25h BYTE 0
26h WORD length of data
28h N BYTEs data
---------------------------------------------
INT 68 - APPC/PC - CHANGE NUMBER OF SESSIONS
AH = 06h
DS:DX -> control block (see below)
Format of control block:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD 1500h
0Eh 6 BYTEs 0
14h WORD (high byte first) primary return code (see AH=02h)
16h DWORD (high byte first) secondary return code (see below, AH=01h)
1Ah 8 BYTEs (high byte first) logical unit ID
22h 8 BYTEs blanks
2Ah 8 BYTEs (high byte first) partner logical unit name
32h 8 BYTEs (high byte first) mode name
3Ah BYTE bit 7: use MODE_NAME_SELECT_ALL rather than MODE_NAME
bit 6: set negotiable values
3Bh BYTE partner logical unit mode session limit
3Ch BYTE minimum CONWINNERS_SOURCE
3Dh BYTE maximum CONWINNERS_TARGET
3Eh BYTE automatic activation
3Fh BYTE 0
40h BYTE bit 7: drain target
bit 6: drain source
bit 5: target responsible, not source
Values for secondary return code (see also AH=01h):
0000h accepted
0001h negotiated
0003h bad logical unit ID
0004h allocation failure, no retry
0005h allocation failure, retry
0151h can't raise limits
0153h all modes must reset
0154h bad SNASVCMG limits
0155h minimum greater than total
0156h mode closed (prim return code = 1)
CNOS mode closed (prim return code = 18h)
0157h bad mode name (prim return code = 1)
CNOS bad mode name (prim return code = 18h)
0159h reset SNA drains
015Ah single not SRC response
015Bh bad partner logical unit
015Ch exceeds maximum allowed
015Dh change SRC drains
015Eh logical unit detached
015Fh CNOS command race reject
---------------------------------------------
INT 68 - APPC/PC - PASSTHROUGH
AH = 07h
DS:DX -> control block (format depends on application subsystem)
---------------------------------------------
INT 68 - APPC/PC - ENABLE/DISABLE APPC
AH = FAh
AL bit 0 = 0 enable
1 disable
---------------------------------------------
INT 68 - APPC/PC - CONVERT
AH = FBh
DS:DX -> control block (see below)
Format of control block:
Offset Size Description
00h 12 BYTEs reserved
0Ch WORD 1A00h
0Eh 6 BYTEs 0
14h DWORD (high byte first) return code
18h BYTE conversion
00h ASCII to EBCDIC
01h EBCDIC to ASCII
19h BYTE character set
00h AE
01h A
02h G
1Ah WORD length of string to convert
1Ch DWORD pointer to source
20h DWORD pointer to target
---------------------------------------------
INT 68 - APPC/PC - ENABLE/DISABLE MESSAGE TRACING
AH = FCh
AL = 00h disable tracing
= 01h enable tracing
DX = number of bytes to keep (0=all)
SeeAlso: AH=FDh
---------------------------------------------
INT 68 - APPC/PC - ENABLE/DISABLE API VERB TRACING
AH = FDh
AL = 00h disable tracing
01h enable tracing
SeeAlso: AH=FCh,FEh
---------------------------------------------
INT 68 - APPC/PC - SET TRACE DESTINATION
AH = FEh
AL = trace destinations
bit 0 storage (DS:DX -> trace stats record)
bit 1 display
bit 2 file (trace written to file OUTPUT.PC)
bit 3 printer
SeeAlso: AH=FDh
Format of Trace Statistics Record:
Offset Size Description
00h DWORD pointer to storage trace buffer
04h WORD max number of 80-byte records in trace
06h WORD (high-order byte first!) current record number (must init to 0)
08h DWORD (high-order byte first!) number of records written (init to 0)
0Ch DWORD reserved
Note: do not move record while trace is active
---------------------------------------------
INT 68 - APPC/PC - SET PASSTHROUGH
AH = FFh
DS:DX -> passthrough exit routine
---------------------------------------------
INT 69 - Zenith AT BIOS - ???
called by INT 09 handler
---------------------------------------------
INT 69 - DECnet DOS - DATA LINK LAYER PROGRAM
---------------------------------------------
INT 6A - OPTHELP.COM
Notes: OPTHELP is an optionally-resident help system for SLR Systems's OPTASM
assembler
may be configured to use any interrupt from 60h to 7Fh (default 6Ah)
---------------------------------------------
INT 6A - DECnet DOS - LOCAL AREA TRANSPORT PROGRAM
---------------------------------------------
INT 6B - Ungermann-Bass NETCI
???
---------------------------------------------
INT 6C - system resume vector (CONVERTIBLE)
---------------------------------------------
INT 6C - DOS 3.2 Realtime Clock update
---------------------------------------------
INT 6D - VGA - internal
Note: used by IBM, Paradise, Video7, and NCR
---------------------------------------------
INT 6D - ATI VGA Wonder - VIDEO BIOS ENTRY POINT
points at the original INT 10 entry point set up by the ATI BIOS
---------------------------------------------
INT 6D - DECnet DOS - DATA LINK LAYER PROGRAM
---------------------------------------------
INT 6E - DECnet DOS - DECnet NETWORK PROCESS API
Notes: this is the main DECnet DOS access, and is described in Digital manual
AA-EB46B-TV ("DECnet-DOS Programmer's Reference Manual")
there is a signature/data area immediately prior to the interrupt
handler which may be used as an installation check
Format of signature area:
Offset Size Description
-5 BYTE major version number
-4 BYTE minor version number
-3 3 BYTEs signature (ASCII "DNP")
---------------------------------------------
INT 6F - HP ES-12 EXTENDED BIOS - READ CMOS MEMORY
BP = 0012h
AH = 22h
BL = address of CMOS byte to read
Return: AH = status
AL = byte read
BP, DS destroyed
SeeAlso: BP=0012h/AH=24h
---------------------------------------------
INT 6F - HP ES-12 EXTENDED BIOS - WRITE CMOS MEMORY
BP = 0012h
AH = 24h
BL = address of CMOS byte to write
AL = new value
Return: AH = status
BP, DS destroyed
SeeAlso: BP=0012h/AH=22h
---------------------------------------------
INT 6F - Novell NetWare - PCOX API (3270 PC terminal interface)
---------------------------------------------
INT 6F - 10-NET - LOGIN
AH = 00h
DS:DX -> login record
8 BYTEs user name
8 BYTEs password
12 BYTEs name of SuperStation
Return: CL = security level
AX = status
0000h successful
01FFh time out on response
02FFh network (hardware) error
03FFh invalid password
04FFh local rexource not available
05FFh server resource not available
06FFh already logged in under different name
07FFh login security failure (node)
08FFh not logged in
09FFh position calc error
0AFFh receive subfunction not = send subfunction (i.e. read, write)
0BFFh request function not in range
0CFFh no more server file handle entries left
0DFFh no more shared file table entries left
0EFFh no more user file handle entries left
0FFFh chat permit not on
10FFh not a server on request
11FFh no transporter board error
12FFh time out on send
13FFh item not found (spool item not on queue)
14FFh dos access incompatible
15FFh record already locked
16FFh invalid parameter
17FFh record lock time out error
18FFh currently spooling to named device
19FFh dropped receive message (throttle)
1AFFh open sharing violation
1BFFh no more tuf entries left
1CFFh not file owner on open
1DFFh read security not passed
1EFFh write security not passed
1FFFh group security not passed
20FFh security file failure
21FFh activity file failure
22FFh spool cntrl file failure
23FFh device not mounted (spooling)
24FFh spool file has not been terminated
25FFh device not mounted or is not being shared
26FFh duplicate node id
27FFh file not found error
28FFh no more files
29FFh unknown internal system error
2AFFh print queue is full or corrupted
2BFFh invalid function
2CFFh invalid handle
2DFFh too many files opened
2EFFh path not found
2FFFh named file is active
/* I've gotten one submission which says FFxxh, and another with xxFFh */
/* I don't know which way around these should be, does somebody else know? */
FF01h timeout
FF02h network error
FF03h invalid password
FF04h no local buffer
FF05h superstation not available
FF06h node already logged in
FF07h login not valid from this node
FF08h node ID already in use
FF16h invalid parameter (bad length, invalid node ID, etc)
FF17h record locked by another user
FF18h sent message has been dropped
SeeAlso: AH-01h
---------------------------------------------
INT 6F - 10-NET - LOGOFF
AH = 01h
DS:DX -> superstation ID or nulls (12 bytes)
Return: CX = number of files closed
AX = status (see AH=00h)
FF08h superstation ID not already logged in
SeeAlso: AH=00h
---------------------------------------------
INT 6F - 10-NET - STATUS OF NODE
AH = 02h
DS:DX -> 512-byte status record (see below)
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
Format of node status record:
Offset Size Description
00h 8 BYTEs user name (0 if none)
08h BYTE station type
00h workstation
01h superstation
02h gateway station
03h gateway active
04h logged into multiple superstations
05h reserved
09h 24 BYTEs list of superstations logged into more than one superstation
21h 12 BYTEs node ID
2Dh WORD message count for this station (send for user node, receive for
superstations)
---for superstations only---
2Fh WORD drives allocated (bit 0=A:, bit 1=B:,...)
31h BYTE user service flag
bit 7: gate
6: print permit on
4: SUBMIT is on
3: mail waiting for node
2: calendar waiting for you
1: news waiting for you
0: mail waiting for you
32h BYTE printers allocated (bit 0=LPT1,...)
33h BYTE number of unprinted spool files
34h BYTE number of opened files
35h BYTE number of logged on nodes
36h BYTE primary drive (1=A:)
37h BYTE reserved
38h N BYTEs list of logged on node IDs (each 12 bytes, max 37 IDs)
1F4h 3 BYTEs time: sec/min/hrs
1F7h 3 BYTEs date: day/mon/year-1980
---------------------------------------------
INT 6F - 10-NET - GET ADDRESS OF CONFIGURATION TABLE
AH = 03h
DS:DI -> node ID (optional)
Return: ES:BX -> configuration table
SeeAlso: AH=13h
Format of configuration table:
Offset Size Description
-41 WORD local device table address
-39 WORD extended network error mapping table address
-37 WORD shared device table address
-35 WORD mounted device table address
-33 BYTE receive buffer counter
-32 BYTE collect buffer counter
-31 WORD TUF address
-29 BYTE enable flag
-28 BYTE FCB keep flag
-27 WORD reserved
---up to here, 10-Net v3.3---
-25 WORD count of dropped Send6F
-23 WORD buffer start address
-21 WORD comm driver base address
-19 WORD send/receive retry count
-17 BYTE number of 550ms loops before timeout
-16 WORD UFH address
-14 WORD CDIR address
-12 WORD LTAB address
-10 WORD SFH address
-8 WORD FTAB address
-6 WORD RLTAB address
-4 WORD SMI address
-2 WORD NTAB address
00h WORD address of first CT_DRV
02h BYTE number of DRV entries
03h 8 BYTEs login name
0Bh 12 BYTEs node ID (blank-padded)
17h 6 BYTEs node address
1Dh BYTE flag
1Eh BYTE CT_CFLG (chat permit)
bit 1: sound bell
bit 0: CHAT permit
1Fh BYTE CT_PSFLG
bit 5: PRINT permit
bit 4: KB initiated
bit 3: CHAT called FOXPTRM
bit 2: SUBMIT active
bit 1: SUBMIT received
bit 0: SUBMIT permit
20h BYTE in 10Net flag
21h WORD receive message count
23h WORD send message count
25h WORD retry count
27h WORD failed count
29h WORD driver errors
2Bh WORD dropped responses/CHATs
2Dh 9 BYTEs LIST ID/NTAB address (3 entries--LPT1-3)
36h 6 BYTEs AUX ID/NTAB address (2 entries--COM1-2)
3Ch BYTE active CB channel
3Dh BYTE received 6F messages on queue
3Eh 9 BYTEs activity counters for channels 1-9
---beyond here, 10-Net v3.3---
47h BYTE bit 0 = RS232 gate
1 = Send6F gate (user set)
48h DWORD pointer into gate (user set)
4Ch DWORD pointer into 10Net send
50h N WORDs addresses of timer blocks
---------------------------------------------
INT 6F - 10-NET - SEND
AH = 04h
DS:BX -> record
12 BYTEs receiving node's ID
if first byte has high-order bit set, message is
directed to the CT_RGATE vector at the receiver
if second byte is 00h, first byte is taken as a CB
channel number and delivered to all nodes on same
channel
WORD length of data at DX
DS:DX -> data (max 1024 bytes)
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
SeeAlso: AH=05h
---------------------------------------------
INT 6F - 10-NET - RECEIVE
AH = 05h
CX = number of seconds before timeout
DS:DX -> receive buffer (see below)
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
AH = FEh if dequeued message is a CB message
SeeAlso: AH=04h
Format of receive buffer:
Offset Size Description
00h 12 BYTEs sending node's ID
0Ch WORD length of message
0Eh N BYTEs message (maximum 1024 bytes)
---------------------------------------------
INT 6F - 10-NET - LOCK HANDLE
AH = 07h
BX = file handle
CX:DX = starting offset in file
SI = record length
Return: CF set on error
AX = error code (see also AH=00h)
0002h file not found
CF clear if successful
SeeAlso: AH=08h, INT 21/AH=5Ch
---------------------------------------------
INT 6F - 10-NET - UNLOCK HANDLE
AH = 08h
BX = file handle
AL = mode
00h unlock all
01h unlock record at CX:DX
Return: CF set on error
AX = error code (see also AH=00h)
0002h file not found
CF clear if successful
SeeAlso: AH=07h, INT 21/AH=5Ch
---------------------------------------------
INT 6F - 10-NET - SUBMIT
AH = 09h
DS:BX -> submit record (see below)
Format of submit record:
Offset Size Description
00h 12 BYTEs destination node ID (must be logged in)
0Ch WORD length+2 of following 'command line' text
0Eh N BYTEs command line text (<=100 bytes), system adds CR
---------------------------------------------
INT 6F - 10-NET - CHAT
AH = 0Ah
DS:BX -> control parameters (see below)
DS:DX -> chat message (see below)
Format of control parameters:
Offset Size Description
00h 8 BYTEs sender ID, defaults to node's userID if nulls
08h 8 BYTEs destination user ID, 'EVERYONE' may be used
10h 12 BYTEs destination node ID
Format of chat message:
Offset Size Description
00h WORD length+2 of following text
02h N BYTEs text, max 101 bytes
---------------------------------------------
INT 6F - 10-NET - LOCK SEMAPHORE, RETURN IMMEDIATELY
AH = 0Bh
AL = drive number or 0
ES:SI = Ethernet address or 0
DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status
00h successful
01h semaphore currently locked
02h server not responding
03h invalid semaphore name
04h semaphore list is full
05h invalid drive ID
06h invalid Ethernet address
07h not logged in
08h write to network failed
09h semaphore already logged in this CPU
Note: same as INT 60/AH=12h
SeeAlso: AH=0Ch,INT 60/AH=12h
---------------------------------------------
INT 6F - 10-NET - UNLOCK SEMAPHORE
AH = 0Ch
AL = drive number or 0
ES:SI = Ethernet address or 0
DS:BX -> 31-byte ASCIZ semaphore name
Return: AL = status (see also AH=0Bh)
01h semaphore not locked
Note: same as INT 60/AH=13h
SeeAlso: AH=0Bh,INT 60/AH=13h
---------------------------------------------
INT 6F - 10-NET - WHO
AH = 0Dh
AL = type code
01h return superstations only
02h return non-superstations only
otherwise return all
CX = length of data
DS:DX -> array of records to be filled (see below)
Return: CL = number of records returned (responding stations)
Format of station record:
Offset Size Description
00h 12 BYTEs node ID
0Ch BYTE flags
bit 1 = workstation
2 = superstation
3 = xgate
4 = active gate
---if AL = 01h---
0Dh BYTE version number
WORD level number of 10Net software in responding node
---if AL = 02h---
0Dh 8 BYTEs user ID
15h BYTE version number
16h WORD level number
---------------------------------------------
INT 6F - 10-NET - SPOOL/PRINT
AH = 0Eh
DS:DX -> spool/print record (see below)
Return: CF set on error
AX = error code (see also AH=00h)
FF17h device not mounted
FF18h already spooling to named device
CF clear if successful
Format of Spool/Print record:
Offset Size Description
00h WORD operation code
00h initiate spool
01h abort print
02h close spool
03h delete spool
04h print
05h get report info
06h set chat template
07h queue
08h return queue
09h queue non-spooled file for printing
02h 11 BYTEs file name in FCB format
---if operation code = 00h or 06h---
0Dh BYTE notification
bit 7: queue to top
bit 6: do ID page
bit 5: no form feed
bit 4: reserved
bit 3: explicity queuing only
bit 2: notify at print completion
bit 1: notify server operator/reply
bit 0: notify at print start
0Eh BYTE days to keep (FFh=forever)
0Fh BYTE bits 0,1: device (1=LPT1)
bits 4-7: remote drive to store spool file (1=A,...)
10h WORD length of following data area
12h N BYTEs up to 64 bytes of description
---if operation code = 03h---
0Dh 8 BYTEs user ID to associate with filename
---if operation code = 04h---
0Dh WORD block number
0Fh 8 BYTEs user ID to associate with filename
---if operation code = 05h---
0Dh BYTE RRN to start retrieve
0Eh BYTE bits 0,1: local print device (LPTx)
bit 3: if set, return entries for all users
0Fh WORD length of following area
11h N BYTEs up to 1500 bytes to receive $SCNTL records returned
---if operation code = 07h---
0Dh BYTE queue number
0Eh BYTE bits 0,1: local print device (LPTx)
0Fh WORD number of bytes of test print to be done
11h BYTE code: 01h print device
02h test print count
03h prn
---if operation code = 08h---
0Dh BYTE queue location or $SCNTL location to start access
returns next item for access:
00h-7Fh queued items
80h-FEh non-queued, non-printed items
FFh no more items
0Eh WORD unused
10h WORD length of following area
12h N BYTEs up to 64 bytes to receive $SCNTL records
---if operation code = 09h---
0Dh 3 BYTEs unused
10h N BYTEs path to non-spooled file to be queued for printing
Format of $SCNTL record:
Offset Size Description
00h 8 BYTEs user ID
08h 11 BYTEs filename in FCB format
13h 6 BYTEs node ID
19h 3 BYTEs creation date
1Ch BYTE flags
bit 7: queue to top
6: do ID page
5: no form feed at end
4: reserved
3: explicit queueing only
2: notify at completion
1: notify server operator/reply
0: notify at start
1Dh BYTE retention time in days
1Eh BYTE printing device (LPTx)
1Fh 3 BYTEs date last printed (0 = never)
22h BYTE device containing spoolfile
23h WORD bytes to print for test print
25h WORD block number to start print
27h BYTE reserved
---------------------------------------------
INT 6F - 10-NET - ATTACH/DETACH PRINTER
AH = 10h
AL = subfunction
00h initiate spooling if LPT1 is mounted
01h terminate spooling if LPT1 is mounted
SeeAlso: INT 21/AX=5D08h
---------------------------------------------
INT 6F - 10-NET - LOCK FCB
AH = 11h
AL = mode
01h sequential
02h random
03h random block
CX = number of records
DS:DX -> FCB
Return: CF set on error
AX = error code (see also AH=00h)
2 file not found
CF clear if successful
SeeAlso: AH=12h
---------------------------------------------
INT 6F - 10-NET - UNLOCK FCB
AH = 12h
AL = mode
00h sequential
01h random
02h random block
CX = number of records
DS:DX -> FCB
Return: CF set on error
AX = error code (see also AH=00h)
2 file not found
CF clear if successful
SeeAlso: AH=11h
---------------------------------------------
INT 6F - 10-NET v3.3 - GET REMOTE CONFIGURATION TABLE ADDRESS
AH = 13h
DS:DX -> node ID, 12 bytes blank-padded
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
ES:BX = configuration table address on given machine
SeeAlso: AH=03h
---------------------------------------------
INT 6F - 10-NET v3.3 - GET REMOTE MEMORY
AH = 14h
BX:SI = address of remote memory
CX = length (<=1024 bytes)
DS:DX -> node ID, 12 bytes blank-padded
DS:DI -> area to receive remote memory image
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
CX = amount of memory copied to DS:SI
---------------------------------------------
INT 6F - 10-NET v3.3 - GET SHARED DEVICE ENTRY
AX = 1501h
BX = zero-based index
DS:SI -> node ID, 12 bytes blank-padded
ES:DI -> 85-byte buffer for shared device table entry (see below)
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
ES:DI buffer contains shared device table entry of BXth device:
SeeAlso: AX=1502h,1503h
Format of shared device table entry:
Offset Size Description
00h 8 BYTEs device
08h 8 BYTEs alias
10h 64 BYTEs path
50h 8 BYTEs password
58h BYTE access
59h 4 BYTEs mask
---------------------------------------------
INT 6F - 10-NET v3.3 - SET SHARED DEVICE ENTRY
AX = 1502h
DS:SI -> node ID, 12 bytes blank-padded
ES:DI -> valid shared device table entry
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
SeeAlso: AX=1501h,1503h
---------------------------------------------
INT 6F - 10-NET v3.3 - DELETE SHARED DEVICE ENTRY
AX = 1503h
BX = zero-based index
DS:SI -> node ID, 12 bytes blank-padded
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
SeeAlso: AX=1501h,1502h
---------------------------------------------
INT 6F - 10-NET v3.3 - MOUNT
AH = 17h
AL = local drive number (0=A:)
BL = remote drive letter or '1'..'3' for LPTn or '4' or '5' for COMx
DS:DX -> node ID, 12 bytes blank-padded
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
SeeAlso: AH=18h
---------------------------------------------
INT 6F - 10-NET v3.3 - UNMOUNT
AH = 18h
AL = local drive number (0=A:)
BL = type
00h disk
01h-03h LPTn
04h,05h COMx
Return: CF set on error
AX = error code (see AH=00h)
CF clear if successful
SeeAlso: AH=17h
---------------------------------------------
INT 70 - IRQ8 - AT/XT286/PS50+ - REAL-TIME CLOCK
Note: may be masked by setting bit 0 on I/O port A1h
---------------------------------------------
INT 71 - IRQ9 - AT/XT286/PS50+ - LAN ADAPTER 1
Notes: may be masked by setting bit 1 on I/O port A1h
rerouted to INT 0A by BIOS
SeeAlso: INT 0A
---------------------------------------------
INT 72 - IRQ10 - AT/XT286/PS50+ - RESERVED
Note: may be masked by setting bit 2 on I/O port A1h
---------------------------------------------
INT 73 - IRQ11 - AT/XT286/PS50+ - RESERVED
Note: may be masked by setting bit 3 on I/O port A1h
---------------------------------------------
INT 74 - IRQ12 - PS50+ - MOUSE INTERRUPT
Note: may be masked by setting bit 4 on I/O port A1h
SeeAlso: INT 33
---------------------------------------------
INT 75 - IRQ13 - AT/XT286/PS50+ - 80287 ERROR
Notes: may be masked by setting bit 5 on I/O port A1h
rerouted to INT 02 by BIOS
---------------------------------------------
INT 76 - IRQ14 - AT/XT286/PS50+ - FIXED DISK
Note: may be masked by setting bit 6 on I/O port A1h
SeeAlso: INT 0E"IRQ6"
---------------------------------------------
INT 77 - IRQ15 - AT/XT286/PS50+ - RESERVED
Note: may be masked by setting bit 7 on I/O port A1h
---------------------------------------------
INT 78 - not used
---------------------------------------------
INT 79 - AVATAR.SYS - FAST GET KEYSTROKE
Return: CF set if no keystroke available
AX = FFFFh
CF clear if key pressed
AX = keystroke
Notes: if a keystroke is available, it is removed from the keyboard buffer
before being returned
AVATAR.SYS is a CON driver by George Adam Stanislav which interprets
AVATAR command codes just as ANSI.SYS interprets ANSI commands
---------------------------------------------
INT 7A - Novell NetWare - LOW-LEVEL API
???
SeeAlso: INT 64
---------------------------------------------
INT 7A - AutoCAD Device Interface
???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - CREATE A QUEUE
AH = 04h
???
Return: ???
SeeAlso: AH=06h
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - DELETE A QUEUE
AH = 06h
???
Return: ???
SeeAlso: AH=04h
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - SESSION SERVICES
AH = 09h
BX = 8020h (synchronous request)
CX = 0000h
DX = ID of session manager (SESSMGR)
AL = service
01h get session ID
02h get session info
04h dettach from session
05h attach to session
06h get list of windows available
07h get environment of window
08h get 'PIF' (program information file) info
0Ah get base window ID
0Bh get cursor info
ES:DI -> control block
Return: ???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - KEYBOARD SERVICES
AH = 09h
BX = 8020h (synchronous request)
CX = 0000h
DX = ID of keyboard manager
AL = service
01h connect to keyboard
02h disconnect from keyboard
03h read from keyboard
04h send keystroke to session
05h disable input
06h enable input
07h update status code
ES:DI -> control block
Return: ???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - WINDOW SERVICES
AH = 09h
BX = 8020h (synchronous request)
CX = 00FFh
DX = ID of window service controller (WSCTRL)
AL = service
01h connect to WS control
02h disconnect from WS control
03h add a window
04h change window's position on screen
05h change window's size
06h change window's color
07h change window's position in the presentation space
08h hide/unhide toggle
09h enlarge/reduce toggle
0Ah change screen background color
0Bh get window's position on screen
0Ch get window's size
0Dh get window's color
0Eh get window's position in the presentation space
0Fh determine whether hidden
10h determine whether enlarged
11h get background color
12h get window names
13h delete all windows from profile
14h pick active window
15h redraw screen
16h redraw window
17h delete a window from profile
18h get active window
19h get active screen
1Ah get window data
1Bh change window data
1Ch select active screen
ES:DI -> control block
Return: ???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - PRESENTATION SPACE SERVICES
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of PCPSM
AL = service
01h define presentation space
02h delete presentation space
03h display presentation space
04h position cursor in presentation space
05h change default presentation space
ES:DI -> control block
Return: ???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - 3270 EMULATION
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of 3270EML
AL = service
01h connect
02h disconnect
ES:DI -> control block
Return: ???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - OPERATOR INFORMATION AREA
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of OIAM
AL = service
01h read Operator Information Area
02h read OIA subset
ES:DI -> control block
Return: ???
Note: the OIA is the 25th line on the Host session
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - TRANSLATE DATA
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of XLATE
AL = service
01h translate from host characters to ASCII and vice versa
(determined by control block byte 11)
ES:DI -> control block
Return: ???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - COPY SERVICE
AH = 09h
BX = 8020h
CX = 00FFh
DX = ID of copy service
AL = service
01h copy string from one presentation space to another
02h copy block from one presentation space to another
03h connect to PC session for copy
04h disconnect PC session from copy
ES:DI -> control block
Return: ???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - Multi-DOS
AH = 09h
BX = 8020h
CX = 00FFh
ES:DI -> control block
DX = ID of INDJQRY
get environment size
= ID of INDJASY
request DOS functions from workstation
= ID of MEMORY
AL = function
01h allocate memory
02h deallocate memory
03h modify allocated size
Return: ???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - HOST SERVICES
AH = 09h
BX = 4000h for async request, 8028h for synchronous request
CX = 0000h
DX = ID of MFIC
AL = service
01h connect to host
02h disconnect from host
03h read DFT structured data from host
04h write DFT structured data to host
05h create a host buffer
ES:DI -> control block
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - GET DATA FROM A QUEUE
AH = 13h
???
Return: ???
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - RESOLVE A GATE NAME
AH = 81h
ES:DI -> 8-char blank-padded gate name
"SESSMGR ", "KEYBOARD", "WSCTRL ", "MFIC ", "PCPSM ",
"3270EML ", "COPY ", "XLATE ", "OIAM ", "MEMORY ",
"INDJQRY ", or "INDJASY "
Return: DX = gate ID
---------------------------------------------
INT 7A - IBM 3270 Workstation Program API - GET COMPLETION RESULTS
AH = 83h
???
Return: ???
---------------------------------------------
INT 7A - IBM Personal Communications/3270 - INSTALLATION CHECK
AX = FDCBh
Return: DX:AX -> PCS/3270 signature block if loaded (see below)
Format of signature block:
Offset Size Description
04h WORD PCS/3270 signature (5741h)
06h WORD version (0501h = PCS/3270 v1.0)
---------------------------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
AX = FE01h
???
Return: ???
SeeAlso: AX=FE02h
---------------------------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL SEND/RECEIVE FUNCTION
AX = FE02h
???
Return: ???
SeeAlso: AX=FE01h
---------------------------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
AX = FF01h
ES:DI -> API function handler routine
Return: CX = 1200h
SeeAlso: AX=FF02h,FF03h
---------------------------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API TERMINATION
AX = FF02h
Return: CX = 1200h
SeeAlso: AX=FF01h
---------------------------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL API INITIALIZATION
AX = FF03h
ES:DI -> send/receive function handler routine
Return: CX = 1200h
SeeAlso: AX=FF01h
---------------------------------------------
INT 7A - IBM PC3270 EMUL PROG v3 - INTERNAL ???
AX = FF04h
ES:DI -> ???
Return: CX = 1200h
---------------------------------------------
INT 7B - Btrieve API
DS:DX -> 38-byte parameter record (see below)
Return: return code field set
Note: Btrieve sets low byte of vector to 33h; this serves as the installation
check
Format of Btrieve parameter record:
Offset Size Description
00h DWORD pointer to data buffer
04h WORD data buffer length
06h DWORD pointer to 90-byte record containing positioning info
(should be same for all calls for same file)
0Ah DWORD pointer to 38-byte FCB info buffer
(should be same for all calls for same file)
0Eh WORD function code
00h open
01h close
02h insert
03h update
04h delete
05h get_equal
06h get_next
07h get_prev
08h get_greater
09h get_gr_eql
0Ah get_less
0Bh get_less_eq
0Ch get_first
0Dh get_last
0Eh create
0Fh stat
10h extend
11h set_dir: set directory information
12h get_dir: get directory information
13h begin_trans
14h end_trans
15h abort_trans
16h get_pos: get record position number
17h get_direct: get data by sending record position
18h step_direct
19h stop
1Ah version
1Bh unlock
1Ch reset
1Dh set owner
1Eh clear owner
1Fh create supplemental index
20h drop supplemental index
21h step first
22h step last
23h step next
31h ???
37h ???
38h ???
39h ???
3Ah ???
3Bh ???
3Ch ???
3Dh ???
3Eh ???
3Fh ???
add 100 (64h) for a single-record wait lock (automatically
released on next get)
add 200 (C8h) for a single-record nowait lock (nowait lock
returns error 54h or 55h if record already locked)
add 300 (12Ch) for a multiple-record wait lock (not released
until unlock called)
add 400 (190h) for a multiple-record nowait lock (nowait lock
returns error 54h or 55h if record already locked)
10h DWORD pointer to file name/key buffer
14h BYTE key length
15h BYTE key number
16h DWORD pointer to status code (see below)
1Ah WORD interface code (version specific)
Values for status code:
00h successful
01h invalid operation
02h I/O error
03h file not open
04h key value not found
05h duplicate key value
06h invalid key number
07h different key number
08h invalid positioning
09h end of file
0Ah modifiable key value error
0Bh invalid file name
0Ch file not found
0Dh extended file error
0Eh pre-image open error
0Fh pre-image I/O error
10h expansion error
11h close error
12h disk full
13h unrecoverable error
14h record manager inactive
15h key buffer too short
16h data buffer length overrun
17h position block length
18h page size error
19h create I/O error
1Ah number of keys
1Bh invalid key position
1Ch invalid record length
1Dh invalid key length
1Eh not a Btrieve file
1Fh file already extended
20h extended I/O error
22h invalid extension name
23h directory error
24h transaction error
25h transaction is active
26h transaction control file I/O error
27h end/abort transaction error
28h transaction max files
29h operation not allowed
2Ah incomplete accelerated access
2Bh invalid record address
2Ch null key path
2Dh inconsistent key flags
2Eh access to file denied
2Fh maximum open files
30h invalid alternate sequence definition
31h key type error
32h owner already set
33h invalid owner
34h error writing cache
35h invalid interface
36h variable page error
37h autoincrement error
38h incomplete index
39h expanded memory error
3Ah compression buffer too short
3Bh file already exists
50h conflict
51h lock error
52h lost position
53h read outside transaction
54h record in use
55h file in use
56h file table full
57h handle table full
58h incompatible open mode
5Dh incompatible lock type
5Eh permission error
---------------------------------------------
INT 7C - IBM REXX88PC command language
???
---------------------------------------------
INT 7D - not used
---------------------------------------------
INT 7E - not used
---------------------------------------------
INT 7F - HDILOAD.EXE - 8514/A VIDEO CONTROLLER INTERFACE
AX = function
0105h get entry points
Return: CF set on error
CF clear if successful
CX:DX -> array of FAR pointers to entry points
Note: most functions are invoked by pushing the DWORD parameter block pointer
and then performing a FAR call via the appropriate vector of the
entry point array
Function numbers: (do FAR call via entry_points+4*function)
08h HOPEN
10h HINT
13h HLDPAL
15h HBBW
17h HBBR
18h HBBCHN
1Dh HQMODE
22h HCLOSE
30h HINIT
31h HSYNC
39h HSPAL
3Ah HRPAL
---------------------------------------------
INT 7F - Halo88 - API
BX = function
64h arc
65h bar
66h box
67h circle
68h clr
69h default hatch style
6Ah default line style
6Bh delhcur
6Ch delln / deltcur
6Dh ellipse
6Eh fill
6Fh flood
70h flood2
71h init graphics
72h init hcur
73h init marker
74h init tcur
75h inqarc
76h inqbknd
77h inqclr
78h inqerr
79h inqgcur
7Ah inqhcur
7Bh inqmarker
7Dh inqtcur
7Eh inqtext
7Fh lnabs
80h lnrel
81h markerabs
82h markerrel
83h moveabs
84h movehcurabs
85h movehcurrel
86h moverel
87h movetcurabs
88h movetcurrel
89h movefrom
8Ah moveto
8Bh pie
8Ch polylnabs
8Dh polylnrel
8Eh ptabs
8Fh ptrel
91h setasp
92h set color
93h set font
94h set hatch style
95h set line style
97h settext
98h set text color
99h btext
9Ah setseg
9Bh display
9Ch setscreen
9Eh close graphics
9Fh ftinit
A0h ftlocate
A1h ftext
A5h set viewport
A6h set window
A7h set world
AAh ftcolor
ACh initlp
ADh inqasp
AEh inqdev
AFh inqdisplay
B0h inqft
B1h inqftcolor
B2h inqinterlace
B3h inqlpa
B4h inqlpg
B5h inqmode
B6h inqscreen
B7h inqversion
B8h roam
B9h scroll
BAh setieee
BBh set interlace
BCh shift
BDh start graphics
BEh vpan
CBh gwrite
CCh gread
CDh setxor
CEh rbox
CFh rcir
D0h rlnabs
D1h rlnrel
D2h delbox
D3h delcir
D5h setseg2
DCh worldoff
DDh mapwtod
DEh mapdtow
DFh mapwton
E0h mapntow
E1h mapdton
E2h mapntod
E3h inqworld
E4h inqviewport
E5h set line width
E6h lnjoint
E7h set locator
E8h read locator
E9h setdev
EBh setstext
ECh setstclr
EDh setstang
EEh stext
EFh inqstext
F0h setdegree
F1h inqstsize
F2h polyfabs
F3h polyfrel
F4h inqdrange
F5h inqstang
F6h orglocator
F7h inqlocator
F8h inqarea
F9h setipal
FAh setborder
FBh inqcrange
FEh setclip
FFh fcir
100h setcrange
101h setdrange
102h setlattr
103h polycabs
104h polycrel
108h memcom
109h memexp
10Ah memmov
10Eh movefx
10Fh movetx
110h inqrgb
111h save image
112h restore image
113h setapal
114h setxpal
118h inqtsize
12Eh gprint
130h setprn
131h setpattr
133h setbattr
135h pexpand
136h ptnorm
137h pfnorm
13Bh inqprn
13Ch lopen
13Dh lclose
13Eh lappend
13Fh lrecord
140h lswitch
142h inqfun
15Dh lsetup
15Eh lrest
15Fh lsave
additional parameters on stack
Return: ???
Notes: Halo88 is a suite of graphics routines
according to Stuart Kemp, the code appears to make no provisions for
chaining
---------------------------------------------
INT 7F - HLLAPI (IBM 3270 High-Level Language API)
AX = 0104h (HLLAPI gate ID)
BX = 0000h
DS:SI -> parameter control block (see below)
Return: parameter control block updated
Format of parameter control block:
Offset Size Description
00h 3 BYTEs signature = 'PCB'
03h BYTE function number (see below)
04h WORD segment of control string
06h WORD offset of control string
08h WORD length of control string, unless explicit end-of-str char set
0Ah BYTE unused
0Bh WORD return code
0Dh WORD maximum length of control string
Values for function number:
00h Query system (Attachmate implementation only)
01h Connect presentation space
02h Disconnect presentation space
03h Send string of keystrokes as if typed from keyboard
04h Wait ~60s, returns status of presentation space
05h Copy current presentation space into a user-defined buffer
06h Search presentation space for first occurrence of a specified string
07h Query cursor location in current presentation space
08h Copy part or all of current presentation space into user buffer
09h Set session parameters; parameters vary by vendor
0Ah Get info on sessions currently connected
0Bh Lock current presentation space
0Ch Unlock previously locked presentation space
0Dh Return copy of operator info area (OIA) of current presentation space
0Eh get attribute byte for given position in the current presentation space
0Fh copy string of characters to the current presentation space
10h workstation control functions
11h storage manager functions, intended primarily for BASIC applications
12h set delay period in half-second intervals
14h get info on level of workstation support used
15h reset session parameters to default values
16h get detailed info on the current session
17h start host notification to application on presentation sp or OIA update
18h check host update when host notification enabled
19h stop host notification
1Eh search field within current presentation space for string
1Fh get first positionof a selected field in the current presentation space
20h get length of specified field
21h copy string into a specified field
22h copy specified field into a user-defined buffer
23h create alternate presentation space (IBM only), don't use with BASIC
24h switch to alternate presentation space (IBM only), not with BASIC
25h display cursor in specified area (IBM only), don't use with BASIC
26h display alternate presentation space (IBM only), don't use with BASIC
27h delete alternate presentation space (IBM only), don't use with BASIC
32h start intercepting keystrokes to allow filtering
33h get keystrokes after turning on interception
34h notify operator when keystroke rejected by filter subroutine
35h stop intercepting keystrokes
5Ah send file
5Bh receive file
5Ch run a program
5Dh execute DOS command
63h change presentation space position to PC display row/col or vice versa
FFh Get info on DCA implementation
Session Parameters for function 09h:
ATTRIB return attributes in hex
NOATTRIB return attributes as blanks
CONPHYS make physical connection
CONLOG only make logical connection
EAB copy extended attribute bytes along with data
NOEAB copy data only
ESC=n set escape character to "n" (default '@')
EOT=n set end of string character (default 00h)
FPAUSE full-duration pause
IPAUSE interruptible pause
STRLEN use explicit string lengths
STREOT use terminated strings
SRCHALL search entire presentation space
SRCHFROM search from specified offset
SRCHFRWD search forward from position 1
SRCHBKWD search backward from last position in presentation space
TWAIT wait specified time for keyboard ready
LWAIT wait until keyboard ready
NWAIT no wait
TRON enable tracing
TROFF disable tracing
AUTORESET send reset before sending keys with function 03h
NORESET don't send reset
QUIET don't display messages sent with INT 21/AH=9
NOQUIET allow messages to be displayed
TIMEOUT=n set timeout in 30-second intervals, 0 = wait until ^Break
XLATE translate extended attribute bytes
NOXLATE don't translate
NEWRET use HLLAPI v3.0 return code conventions
OLDRET use HLLAPI v2.0 return code conventions
---------------------------------------------
INT 7F - CONVERGENT TECHNOLOGIES ClusterShare CTOS ACCESS VECTOR
AL = request ID
01h "Request"/"RequestDirect"
ES:BX -> pRq
DX ignored
04h "Wait"
ES:BX -> ppMsgRet
DX = exchange
05h "AllocExch"
ES:BX -> pExchRet
06h "DeAllocExch"
DX = exchange
07h "Check"
ES:BX -> ppMsgRet
DX = exchange
CX = 4354h ('CT')
Return: AX = status
0000h successful
---------------------------------------------
INT 80 - Q-PRO4 - ???
---------------------------------------------
INT 80 - reserved for BASIC
---------------------------------------------
INT 81 - reserved for BASIC
---------------------------------------------
INT 82 - reserved for BASIC
---------------------------------------------
INT 83 - reserved for BASIC
---------------------------------------------
INT 84 - reserved for BASIC
---------------------------------------------
INT 85 - reserved for BASIC
---------------------------------------------
INT 86 - Relocated (by NETBIOS) INT 18
---------------------------------------------
INT 86 - used by BASIC while in interpreter
---------------------------------------------
INT 86 - APL*PLUS/PC - Terminate APL session and return to DOS
---------------------------------------------
INT 87 - used by BASIC while in interpreter
---------------------------------------------
INT 87 - APL*PLUS/PC - ????
---------------------------------------------
INT 88 - used by BASIC while in interpreter
---------------------------------------------
INT 88 - APL*PLUS/PC - CREATE OBJECT OF ARBITRARY RANK OR SHAPE
AL = 00h
BX = STPTR of the variable to be assigned
ES:SI -> model of type, rank, and shape (see below)
Return: ES:DI -> first data byte of object
DX:CX = number of elements in the object
Format of shape model:
Offset Size Description
00h BYTE type
01h character (2-byte dimension sizes)
02h integer (2-byte dimension sizes)
08h floating point (2-byte dimension sizes)
11h character (4-byte dimension sizes)
12h integer (4-byte dimension sizes)
18h floating point (4-byte dimension sizes)
01h BYTE rank
02h WORD/DWORD first dimension of shape
N WORD/DWORD second dimension of shape
...
---------------------------------------------
INT 88 - APL*PLUS/PC - CREATE CHARACTER SCALAR/VECTOR/MATRIX <64K IN SIZE
AL = 01h
AH = rank
BX = STPTR of the variable to be assigned
CX = first dimension (if any)
DX = second dimension (if any)
Return: ES:DI -> object
CX = number of elements in the object
Note: each dimension must be 32767 or smaller
SeeAlso: AL=02h,08h
---------------------------------------------
INT 88 - APL*PLUS/PC - CREATE INTEGER SCALAR/VECTOR/MATRIX <64K IN SIZE
AL = 02h
AH = rank
BX = STPTR of the variable to be assigned
CX = first dimension (if any)
DX = second dimension (if any)
Return: ES:DI -> object
CX = number of elements in the object
Note: each dimension must be 32767 or smaller
SeeAlso: AL=01h,08h
---------------------------------------------
INT 88 - APL*PLUS/PC - CREATE FLOATING POINT SCALAR/VECTOR/MATRIX <64K IN SIZE
AL = 08h
AH = rank
BX = STPTR of the variable to be assigned
CX = first dimension (if any)
DX = second dimension (if any)
Return: ES:DI -> object
CX = number of elements in the object
Note: each dimension must be 32767 or smaller
SeeAlso: AL=01h,02h
---------------------------------------------
INT 88 - APL*PLUS/PC - FORCE OBJECT INTO REAL WORKSPACE FROM VIRTUAL
AL = F5h
BX = STPTR of object
---------------------------------------------
INT 88 - APL*PLUS/PC - MAKE NAME IMMUNE FROM OUTSWAPPING
AL = F6h
BX = STPTR of object
SeeAlso: AL=F7h,F8h
---------------------------------------------
INT 88 - APL*PLUS/PC - MAKE NAME ELIGIBLE FOR OUTSWAPPING
AL = F7h
BX = STPTR of object
SeeAlso: AL=F6h,F8h
---------------------------------------------
INT 88 - APL*PLUS/PC - REPORT WHETHER NAME IS ELIGIBLE FOR OUTSWAPPING
AL = F8h
BX = STPTR of object
Return: BX = 0000h eligible
0001h not eligible
SeeAlso: AL=F6h,F7h
---------------------------------------------
INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
AL = F9h
ES:SI -> name
CX = length of name
Return: CF set if name ill-formed or already in use
BX = STPTR if already in symbol table
CF clear if name is available for use
BX = 0000h
Note: does not force the name into the workspace
SeeAlso: AL=FEh,FFh
---------------------------------------------
INT 88 - APL*PLUS/PC - DETERMINE IF MEMORY AVAIL WITHOUT GARBAGE COLLECTION
AL = FCh
BX = amount of memory needed (paragraphs)
Return: CF clear if memory available
CF set if a workspace compaction is required
SeeAlso: AL=FDh
---------------------------------------------
INT 88 - APL*PLUS/PC - PERFORM GARBAGE COLLECTION AND RETURN AVAILABLE MEMORY
AL = FDh
Return: BX = number of paragraphs available in workspace
SeeAlso: AL=FCh
---------------------------------------------
INT 88 - APL*PLUS/PC - CREATE NAME
AL = FEh
ES:SI -> name
CX = length of name
Return: BX = STPTR of name
DX = interpreter's data segment
SeeAlso: AL=F9h,FFh
---------------------------------------------
INT 88 - APL*PLUS/PC - DETERMINE NAME STATUS
AL = FFh
ES:SI -> name
CX = length of name
Return: CF set if name ill-formed or already in use
BX = STPTR if already in symbol table
CF clear if name is available for use
BX = 0000h
Note: forces the name into the workspace and makes it immune from outswapping
SeeAlso: AL=F9h,FEh
---------------------------------------------
INT 89 - used by BASIC while in interpreter
---------------------------------------------
INT 8A - used by BASIC while in interpreter
---------------------------------------------
INT 8A - APL*PLUS/PC - PRINT SCREEN
Note: same as INT 05
SeeAlso: INT 05
---------------------------------------------
INT 8B - used by BASIC while in interpreter
---------------------------------------------
INT 8B - APL*PLUS/PC - BEEP
Note: same as printing a ^G via INT 21/AH=02h
SeeAlso: INT 21/AH=02h
---------------------------------------------
INT 8C - used by BASIC while in interpreter
---------------------------------------------
INT 8C - CLEAR SCREEN MEMORY
AX = 0000h do not save display attributes
= 0001h save attributes
---------------------------------------------
INT 8D - used by BASIC while in interpreter
---------------------------------------------
INT 8E - used by BASIC while in interpreter
---------------------------------------------
INT 8F - used by BASIC while in interpreter
---------------------------------------------
INT 90 - used by BASIC while in interpreter
---------------------------------------------
INT 90 - APL*PLUS/PC - USED BY PORT 10 PRINTER DRIVER
---------------------------------------------
INT 91 - used by BASIC while in interpreter
---------------------------------------------
INT 92 - used by BASIC while in interpreter
---------------------------------------------
INT 93 - used by BASIC while in interpreter
---------------------------------------------
INT 94 - used by BASIC while in interpreter
---------------------------------------------
INT 95 - used by BASIC while in interpreter
---------------------------------------------
INT 95 - APL*PLUS/PC - DETERMINE R= SPACE
Note: use only when the R= option is invoked on entering APL
---------------------------------------------
INT 96 - used by BASIC while in interpreter
---------------------------------------------
INT 97 - used by BASIC while in interpreter
---------------------------------------------
INT 98 - used by BASIC while in interpreter
---------------------------------------------
INT 99 - used by BASIC while in interpreter
---------------------------------------------
INT 9A - used by BASIC while in interpreter
---------------------------------------------
INT 9B - used by BASIC while in interpreter
---------------------------------------------
INT 9C - used by BASIC while in interpreter
---------------------------------------------
INT 9D - used by BASIC while in interpreter
---------------------------------------------
INT 9E - used by BASIC while in interpreter
---------------------------------------------
INT 9F - used by BASIC while in interpreter
---------------------------------------------
INT A0 - used by BASIC while in interpreter
---------------------------------------------
INT A0 - APL*PLUS/PC - USED BY APL/GSS*CGI GRAPHICS INTERFACE
SeeAlso: INT 59
---------------------------------------------
INT A1 - used by BASIC while in interpreter
---------------------------------------------
INT A2 - used by BASIC while in interpreter
---------------------------------------------
INT A3 - used by BASIC while in interpreter
---------------------------------------------
INT A4 - used by BASIC while in interpreter
---------------------------------------------
INT A4 - Right Hand Man API
function number in AH
Note: Right-Hand Man is a TSR desk-top utility, and only hooks this interrupt
while popped up
---------------------------------------------
INT A5 - used by BASIC while in interpreter
---------------------------------------------
INT A6 - used by BASIC while in interpreter
---------------------------------------------
INT A7 - used by BASIC while in interpreter
---------------------------------------------
INT A8 - used by BASIC while in interpreter
---------------------------------------------
INT A9 - used by BASIC while in interpreter
---------------------------------------------
INT AA - used by BASIC while in interpreter
---------------------------------------------
INT AB - used by BASIC while in interpreter
---------------------------------------------
INT AC - used by BASIC while in interpreter
---------------------------------------------
INT AD - used by BASIC while in interpreter
---------------------------------------------
INT AE - used by BASIC while in interpreter
---------------------------------------------
INT AF - used by BASIC while in interpreter
---------------------------------------------
INT B0 - used by BASIC while in interpreter
---------------------------------------------
INT B1 - used by BASIC while in interpreter
---------------------------------------------
INT B2 - used by BASIC while in interpreter
---------------------------------------------
INT B3 - used by BASIC while in interpreter
---------------------------------------------
INT B3 - ZIPKEY - GET VERSION
AH = 70h
Return: AH = major version
AL = minor version
CL = number of states and territories in current database
DH = year of current database - 1900
DL = month of current database's file date
Notes: if installed, the string "ZIPKEY" is present at offset 75h in the
interrupt handler's segment, and the byte at 7Bh contains the API
version number (currently 00h)
ZIPKEY is a resident ZIPCODE database by Eric Isaacson
---------------------------------------------
INT B3 - ZIPKEY - CONVERT TWO-LETTER ABBREVIATION TO STATE CODE
AH = 71h
BX = abbreviation, in either case
Return: CF set on error
AL = FFh
CF clear if successful
AL = ZIPKEY state code
SeeAlso: AH=72h
---------------------------------------------
INT B3 - ZIPKEY - CONVERT STATE CODE TO TWO-LETTER ABBREVIATION
AH = 72h
BL = ZIPKEY state code
Return: CF set on error
CF clear if successful
AX = abbreviation, in upper case
SeeAlso: AH=71h,73h
---------------------------------------------
INT B3 - ZIPKEY - CONVERT STATE CODE TO STATE NAME
AH = 73h
BL = ZIPKEY state code
ES:DI -> buffer for name
Return: CF set on error
CF clear if successful
ES:DI points one byte beyond end of name
SeeAlso: AH=72h
---------------------------------------------
INT B3 - ZIPKEY - CONVERT ZIPCODE TO ASCII DIGITS
AH = 74h
DX = zipcode region (0-999)
CH = last two digits of zipcode (0-99)
ES:DI -> buffer
Return: CF set on error
CF clear if successful
ES:DI points one byte beyond end of digit string
---------------------------------------------
INT B3 - ZIPKEY - LOOK UP STATE CODE FOR ZIPCODE
AH = 75h
DX = zipcode region (0-999)
CH = last two digits of zipcode (0-99)
Return: CF set on error (zipcode not found)
AL = suggested state code, FFh if none
CF clear if successful
AL = ZIPKEY state code
SeeAlso: AH=76h,79h
---------------------------------------------
INT B3 - ZIPKEY - LOOK UP CITY AND STATE FOR ZIPCODE
AH = 76h
DX = zipcode region (0-999)
CH = last two digits of zipcode (0-99)
ES:DI -> buffer for name
Return: CF set on error
AL = suggested state code, FFh if none
ES:DI buffer filled with suggested city name
CF clear if successful
AL = ZIPKEY state code
ES:DI points one byte beyond end of name
SeeAlso: AH=75h,78h
---------------------------------------------
INT B3 - ZIPKEY - PLAY BACK EXIT KEY FOR ENTRY WITH GIVEN ZIPCODE
AH = 77h
DX = zipcode region (0-999)
CH = last two digits of zipcode (0-99)
BX = 16-bit BIOS keycode for a defined ZIPKEY alternate exit key
Return: CF set on error
CF clear if successful
zipcode specification as defined by the BX keystroke is placed in
keyboard buffer, as if the user had popped up ZIPKEY and exited
by pressing the key specified by BX
---------------------------------------------
INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN STATE AND CITY
AH = 78h
BL = ZIPKEY state code
DS:SI -> city name, terminated with 0Dh if complete name, 00h if prefix
Return: BH = number of matching entries (set to 51 if more than 50)
DX = zipcode region of first match (0-999)
CL = last two digits of first zipcode in the range (0-99)
CH = last two digits of last zipcode in the range (0-99)
SeeAlso: AH=79h,7Ah
---------------------------------------------
INT B3 - ZIPKEY - LOOK UP ZIPCODES FOR A GIVEN CITY
AH = 79h
BL = ZIPKEY state code of first state to search
DS:SI -> city name, terminated with 0Dh if complete name, 00h if prefix
Return: AL = ZIPKEY state code of first matching state
BH = number of matching entries (set to 51 if more than 50)
DX = zipcode region of first match (0-999)
CL = last two digits of first zipcode in first range (0-99)
CH = last two digits of last zipcode in first range (0-99)
Note: to find all matching cities, repeat search with BL set to one more than
the returned AL
SeeAlso: AH=78h,7Ah
---------------------------------------------
INT B3 - ZIPKEY - FETCH AN ENTRY FROM A PREVIOUS LOOKUP
AH = 7Ah
BL = case number (0 to one less than value returned in BH by lookup)
Return: AL = ZIPKEY state code
DX = zipcode region (0-999)
CL = last two digits of first zipcode in the range (0-99)
CH = last two digits of last zipcode in the range (0-99)
SeeAlso: AH=78h,79h
---------------------------------------------
INT B3 - ZIPKEY - GET VALUES NEEDED TO SAVE ZIPKEY CONTEXT
AH = 7Bh
Return: BL = maximum number of characters for a city name
BH = ZIPKEY state code for last city-name search
FFh if none
CX:DX = internal code identifying last city search
SeeAlso: AH=7Ch
---------------------------------------------
INT B3 - ZIPKEY - RESTORE ZIPKEY CONTEXT
AH = 7Ch
BL = maximum number of characters for a city name
BH = ZIPKEY state code for last city-name search
FFh if none
CX:DX = internal code returned by AH=7Bh
Return: CF set on error
CF clear if successful
SeeAlso: AH=7Bh
---------------------------------------------
INT B3 - ZIPKEY - REQUEST POP UP
AH = 7Dh
BL = index number to simulate pressing a hotkey
FFh for immediate popup with no playback on return
Return: CF set on error
AL = FDh already busy with another request
= FEh illegal function
CF clear if successful
window popped up and was closed by the user
---------------------------------------------
INT B3 - ZIPKEY - GET NAME OF PRIMARY CITY FOR A ZIPCODE REGION
AH = 7Eh
DX = zipcode region (0-999)
ES:DI -> buffer for name
Return: CF set on error
AL = FFh region does not exist
CF clear if successful
AL = ZIPKEY state code
ES:DI points one byte beyond end of name
---------------------------------------------
INT B3 - ZIPKEY - ENABLE/DISABLE HOTKEYS
AH = 7Fh
BL = function
00h turn off hotkeys
01h turn on hotkeys
02h return hotkey status
03h toggle hotkey status
Return: AL = hotkey status
00h off
01h on
---------------------------------------------
INT B4 - used by BASIC while in interpreter
---------------------------------------------
INT B5 - used by BASIC while in interpreter
---------------------------------------------
INT B6 - used by BASIC while in interpreter
---------------------------------------------
INT B7 - used by BASIC while in interpreter
---------------------------------------------
INT B8 - used by BASIC while in interpreter
---------------------------------------------
INT B9 - used by BASIC while in interpreter
---------------------------------------------
INT BA - used by BASIC while in interpreter
---------------------------------------------
INT BB - used by BASIC while in interpreter
---------------------------------------------
INT BC - used by BASIC while in interpreter
---------------------------------------------
INT BD - used by BASIC while in interpreter
---------------------------------------------
INT BE - used by BASIC while in interpreter
---------------------------------------------
INT BF - used by BASIC while in interpreter
---------------------------------------------
INT C0 - used by BASIC while in interpreter
---------------------------------------------
INT C1 - used by BASIC while in interpreter
---------------------------------------------
INT C2 - used by BASIC while in interpreter
---------------------------------------------
INT C3 - used by BASIC while in interpreter
---------------------------------------------
INT C4 - used by BASIC while in interpreter
---------------------------------------------
INT C5 - used by BASIC while in interpreter
---------------------------------------------
INT C6 - used by BASIC while in interpreter
---------------------------------------------
INT C6 - APL*PLUS/PC - IDENTICAL TO INT 86
Note: STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
the older interrupts
---------------------------------------------
INT C7 - used by BASIC while in interpreter
---------------------------------------------
INT C7 - APL*PLUS/PC - ???
---------------------------------------------
INT C8 - used by BASIC while in interpreter
---------------------------------------------
INT C8 - APL*PLUS/PC - IDENTICAL TO INT 88
Note: STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
the older interrupts
---------------------------------------------
INT C9 - used by BASIC while in interpreter
---------------------------------------------
INT C9 - APL*PLUS/PC - ???
---------------------------------------------
INT CA - used by BASIC while in interpreter
---------------------------------------------
INT CA - APL*PLUS/PC - IDENTICAL TO INT 8A
Note: STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
the older interrupts
---------------------------------------------
INT CB - used by BASIC while in interpreter
---------------------------------------------
INT CB - APL*PLUS/PC - IDENTICAL TO INT 8B
Note: STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
the older interrupts
---------------------------------------------
INT CC - used by BASIC while in interpreter
---------------------------------------------
INT CC - APL*PLUS/PC - IDENTICAL TO INT 8C
Note: STSC moved its interrupts from 86h-8Ch to C6h-CCh, but did not delete
the older interrupts
---------------------------------------------
INT CD - used by BASIC while in interpreter
---------------------------------------------
INT CD - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT CE - used by BASIC while in interpreter
---------------------------------------------
INT CE - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT CF - used by BASIC while in interpreter
---------------------------------------------
INT CF - APL*PLUS/PC - DEFAULT LOW-RESOLUTION TIMER FOR QUAD MF FUNCTION
---------------------------------------------
INT D0 - used by BASIC while in interpreter
---------------------------------------------
INT D0 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT D1 - used by BASIC while in interpreter
---------------------------------------------
INT D1 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT D2 - used by BASIC while in interpreter
---------------------------------------------
INT D2 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT D3 - used by BASIC while in interpreter
---------------------------------------------
INT D3 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT D4 - used by BASIC while in interpreter
---------------------------------------------
INT D4 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT D5 - used by BASIC while in interpreter
---------------------------------------------
INT D5 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT D6 - used by BASIC while in interpreter
---------------------------------------------
INT D6 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT D7 - used by BASIC while in interpreter
---------------------------------------------
INT D7 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT D8 - used by BASIC while in interpreter
---------------------------------------------
INT D8 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT D9 - used by BASIC while in interpreter
---------------------------------------------
INT D9 - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT DA - used by BASIC while in interpreter
---------------------------------------------
INT DA - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT DB - used by BASIC while in interpreter
---------------------------------------------
INT DB - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT DC - used by BASIC while in interpreter
---------------------------------------------
INT DC - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT DD - used by BASIC while in interpreter
---------------------------------------------
INT DD - STSC APL*PLUS/PC - MAY BE USED IN FUTURE RELEASES
---------------------------------------------
INT DE - used by BASIC while in interpreter
---------------------------------------------
INT DE - APL*PLUS/PC - ???
Note: appears to be the same as INT 16
---------------------------------------------
INT DF - used by BASIC while in interpreter
---------------------------------------------
INT DF - APL*PLUS/PC - SAME AS INT 10
SeeAlso: INT 10
---------------------------------------------
INT E0 - CP/M-86 function calls
---------------------------------------------
INT E0 - used by BASIC while in interpreter
---------------------------------------------
INT E0 - APL*PLUS/PC - RESTIME HIGH-RESOLUTION TIMER FOR QUAD MF FUNCTION
---------------------------------------------
INT E1 - used by BASIC while in interpreter
---------------------------------------------
INT E2 - used by BASIC while in interpreter
---------------------------------------------
INT E3 - used by BASIC while in interpreter
---------------------------------------------
INT E4 - Logitech Modula v2.0 - MonitorEntry
AX = 0005h
BX = priority
SeeAlso: AX=0006h
---------------------------------------------
INT E4 - Logitech Modula v2.0 - MonitorExit
AX = 0006h
SeeAlso: AX=0005h
---------------------------------------------
INT E4 - used by BASIC while in interpreter
---------------------------------------------
INT E5 - used by BASIC while in interpreter
---------------------------------------------
INT E6 - used by BASIC while in interpreter
---------------------------------------------
INT E7 - used by BASIC while in interpreter
---------------------------------------------
INT E8 - used by BASIC while in interpreter
---------------------------------------------
INT E9 - used by BASIC while in interpreter
---------------------------------------------
INT EA - used by BASIC while in interpreter
---------------------------------------------
INT EB - used by BASIC while in interpreter
---------------------------------------------
INT EC - used by BASIC while in interpreter
---------------------------------------------
INT ED - used by BASIC while in interpreter
---------------------------------------------
INT EE - used by BASIC while in interpreter
---------------------------------------------
INT EF - used by BASIC while in interpreter
---------------------------------------------
INT EF - compiled BASIC - ORIGINAL INT 09 VECTOR
---------------------------------------------
INT EF - GEM - INTERFACE
CX = 0473h
DS:DX -> GEM parameter block
---------------------------------------------
INT F0 - used by BASIC while in interpreter
---------------------------------------------
INT F0 - compiled BASIC - ORIGINAL INT 08 VECTOR
---------------------------------------------
INT F1 - reserved for user interrupt
---------------------------------------------
INT F2 - reserved for user interrupt
---------------------------------------------
INT F3 - reserved for user interrupt
---------------------------------------------
INT F4 - reserved for user interrupt
---------------------------------------------
INT F5 - reserved for user interrupt
---------------------------------------------
INT F6 - reserved for user interrupt
---------------------------------------------
INT F7 - reserved for user interrupt
---------------------------------------------
INT F8 - 10 ms INTERVAL TIMER (TANDY???)
---------------------------------------------
INT F9 - reserved for user interrupt
---------------------------------------------
INT FA - USART READY (RS-232C) (TANDY???)
---------------------------------------------
INT FB - USART Rx READY (keyboard) (TANDY???)
---------------------------------------------
INT FC - reserved for user interrupt
---------------------------------------------
INT FD - reserved for user interrupt
---------------------------------------------
INT FE - AT/XT286/PS50+ - destroyed by return from protected mode
---------------------------------------------
INT FF - AT/XT286/PS50+ - destroyed by return from protected mode
---------------------------------------------
INT FF - Z100 - WARM BOOT
---------------------------------------------
Please redistribute the following files unmodified as a group, in an archive
named INTER490:
INTERRUP.1ST the read-me file, containing credits, availability info
INTERRUP.A INT 00 through INT 1F
INTERRUP.B INT 20 through INT 27
INTERRUP.C INT 28 through INT 5F
INTERRUP.D INT 60 through INT FF
INTERRUP.PRI a brief introduction to interrupts
INTPRINT.COM a simple formatter that also generates the list summary
INTPRINT.DOC instructions for INTPRINT
INTPRINT.C source code for INTPRINT
MEMORY.LST format of the BIOS data area
This compilation is Copyright (c) 1989, 1990 Ralf Brown
---------------------------------------------
ARPA: ralf@cs.cmu.edu
UUCP: {ucbvax,harvard}!cs.cmu.edu!ralf
BIT: ralf%cs.cmu.edu@cmuccvma
FIDO: Ralf Brown 1:129/3.1
or post a message to the DR_DEBUG echo
CIS: >INTERNET:ralf@cs.cmu.edu